Path Traversal [1]

DATE : 2023/10/23

Path Traversal Vulnerability

path traversal ์ทจ์•ฝ์ (or directory traversal)์ด๋ž€,

์ด๋ฆ„ ๊ทธ๋Œ€๋กœ path(๊ฒฝ๋กœ)๋ฅผ traversal(ํšก๋‹จ)ํ•  ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์„ ๋งํ•œ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•ด ๊ณต๊ฒฉ์ž๊ฐ€ ์›ํ•˜๋Š” ๋Œ€๋กœ directory๋ฅผ ์ด๋ฆฌ ์ €๋ฆฌ ๋Œ์•„๋‹ค๋‹ ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์ด๋‹ค.

Path traversal ์ทจ์•ฝ์ ์„ ๊ณต๋žตํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒŒ ๋ฐ”๋กœ path traversal sequence!

cd command๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐ”๋กœ ๊ทธ

../

๊ธฐํ˜ธ์ด๋‹ค.

์ด sequence๋Š” ํ˜„์žฌ directory๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋‹จ๊ณ„ ์ƒ์œ„์— ์œ„์น˜ํ•œ directory๋กœ ์ด๋™ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด web server์—์„œ๋Š” ์ด sequence๊ฐ€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์ง€ ์•Œ์•„๋ณด์ž.


์–ด๋–ค ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ค์–‘ํ•œ ์ƒํ’ˆ์„ ์ œ๊ณตํ•˜๋Š” ์‡ผํ•‘ application์ด ๋™์ž‘ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ์ƒํ•ด๋ณด์ž.

์ด๋•Œ ํ•˜๋‚˜์˜ ์ƒํ’ˆ ๊ธ€์—๋Š” ๊ฐ„๋žตํ•œ ์„ค๋ช…๊ณผ ํ•จ๊ป˜ ์ƒํ’ˆ ์ด๋ฏธ์ง€๊ฐ€ ์ œ๊ณต๋œ๋‹ค.

์ƒํ’ˆ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด ์œ„์™€ ๊ฐ™์ด ์ƒํ’ˆ ํŽ˜์ด์ง€๊ฐ€ ์ถœ๋ ฅ ๋˜๊ธฐ ์ „, packet์„ ์žก์•„๋ณด๋ฉด

์–ด๋–ค ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ธ์ง€ filename parameter๋กœ ์‚ฌ์šฉํ•  ์ด๋ฏธ์ง€ ์ด๋ฆ„์„ ์ „๋‹ฌํ•˜๋Š” ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ด๋•Œ ๋งŒ์•ฝ sequence๋ฅผ ์‚ฌ์šฉํ•ด ๋‹ค๋ฅธ directory์— ์žˆ๋Š” ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค๋„๋ก ๊ฐ’์„ ์กฐ์ž‘ํ•˜๊ฒŒ ๋˜๋ฉด

../../../etc/passwd

์ด์ฒ˜๋Ÿผ /etc/passwd file ๋‚ด์šฉ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

ํฐ ์–ด๋ ค์›€ ์—†์ด ๊ฒฐ๊ณผ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฑธ ๋ณด์•„ ํ˜„์žฌ ์ด ์„œ๋ฒ„์—๋Š” path traversal sequence๋ฅผ ์ฐจ๋‹จํ•˜๋Š”

์ ์ ˆํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ตฌํ˜„๋˜์–ด ์žˆ์ง€ ์•Š์€ ๋“ฏ ํ•˜๋‹ค.

์•„๋ฌดํŠผ! sequence๊ฐ€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์ง€ ๊ฐ„๋‹จํžˆ ์‚ดํŽด๋ณธ ๊ฒฐ๊ณผ,

ํ˜„์žฌ ์–ด๋–ค directory์— ์ ‘๊ทผํ•˜๋Š” ์ง€์— ์ƒ๊ด€์—†์ด ์ž์œ ๋กญ๊ฒŒ ๊ฒฝ๋กœ๋ฅผ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Œ์„ ์•Œ์•˜๋‹ค.

์„œ๋ฒ„๊ฐ€ ์ œ๊ณตํ•˜๋Š” application์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ํŒŒ์•…ํ•˜๊ณ ,

์–ป์–ด๋‚ด๊ณ ์ž ํ•˜๋Š” ์ •๋ณด์˜ ์œ„์น˜๋ฅผ ์•Œ์•„๋‚ธ๋‹ค๋ฉด sequence๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์†์‰ฝ๊ฒŒ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ •๋ณด๋ฅผ

์–ป์„ ์ˆ˜ ์žˆ์„์ง€๋„ ๋ชจ๋ฅธ๋‹ค!!

๋”ฐ๋ผ์„œ traversal sequence๊ฐ€ ์–ด๋–ค ์‹์œผ๋กœ ์•…์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์ง€,

๋ฐ˜๋Œ€๋กœ ์–ด๋–ป๊ฒŒ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ์„ ์ง€์— ๋Œ€ํ•ด์„œ ์ดํ›„ POST๋ฅผ ํ†ตํ•ด ์•Œ์•„๊ฐ€๋„๋ก ํ•˜์ž!

Last updated