https://dreamhack.io/wargame/challenges/12/
pathtraversal
์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์กฐํํ๋ API ์๋ฒ์ ๋๋ค. Path Traversal ์ทจ์ฝ์ ์ ์ด์ฉํด /api/flag์ ์๋ ํ๋๊ทธ๋ฅผ ํ๋ํ์ธ์! Reference Server-side Basic
dreamhack.io
๋ฌธ์ ์์ ์ ๊ณตํ๋ ์์ค์ฝ๋๋ฅผ ๋จผ์ ๋ถ์
์ฌ์ฉ์๋ /get_info ํ์ด์ง์์ ์ ๋ ฅ๋์๋ค ์ ์ ์ ์ด๋ฆ์ ๋ฃ์ผ๋ฉด,
์๋ฒ๊ฐ /api/user/{userid}๋ก GET ์์ฒญ์ ํ์ฌ, ์ฌ์ฉ์ ์ ๋ณด๋ฅผ JSON ํ์์ผ๋ก ๊ฐ์ ธ์ค๋ ๊ฒ์.
์ด๋ userid๋ ์์ ์ ์ญ ๋ณ์๋ก ์ ์๋ users ๋์ ๋๋ฆฌ๋ฅผ ์ฐธ์กฐํ๋ค.
0์ ๋ฃ์ผ๋ฉด guest์ ๋ํ ์ ๋ณด ์ถ๋ ฅ
1์ ๋ฃ์ผ๋ฉด admin์ ๋ํ ์ ๋ณด ์ถ๋ ฅ
๋ ธ๋ ค์ผํ ๋ถ๋ถ์ ๋ฐ๋ก ์๋์ /api/flag ๋ถ๋ถ
์ ๋ถ๋ถ์ ์๋ฒ๊ฐ ์ง์ ๋ก์ปฌ์์๋ง ์ ์์ ํ๋๋ก ์ค์ ์ด ๋์ด์์ด์(@internal_api)
๋ด ๋ธ๋ผ์ฐ์ ๋ก ์ ์์ ํ๋ฉด ๊ถํ์ด ์๋ค๊ณ ๊ฒฝ๊ณ ๊ฐ ๋์จ๋ค.
์ฆ ์๋ฒ ์๊ธฐ ์์ ์ด ์ ๊ฒฝ๋ก๋ก ์์ฒญ์ ํ๋๋ก ๋ง๋ค์ด์ผ ํ๋ ๊ฒ์ด ์ด ๋ฌธ์ ์ ํต์ฌ
๊ทธ๋์ ๋ฐฉ๊ธ ์ /get_info ๋ถ๋ถ์ ์๋ฒ๊ฐ requests๋ฅผ ํ๋ ๊ณณ์ ํ๋ผ๋ฏธํฐ๋ก
"../flag"๋ฅผ ์ค๋ณด์๋ค.
ํ์ง๋ง ์์ฒญ์ ํ๋ฉด ๋น ๊ฐ๋ง ์ถ๋ ฅ์ด ๋๋ค.
์ด๋ ํด๋ผ์ด์ธํธ ์์ญ์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๋ฏธ๋ฆฌ ์ ์๋ ์ฌ์ฉ์์ ์ด๋ฆ์ ์ ๋ ฅ๋ฐ์
๊ทธ ์ ์ ์ ๊ณ ์ ๋ฒํธ๋ก ์นํ์ ์์ผ ์๋ฒ์๊ฒ ์ ๋ฌ์ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํตํด ํ์ธ์ด ๊ฐ๋ฅํ๋ค.
๋ณด์๋ค์ํผ users์ ๋์ ๋๋ฆฌ๋ฅผ ์ฐธ์กฐํด์ guest๋ฅผ ๋ฃ์ ๊ฒฝ์ฐ์ 0์ ๋ฐํํ๊ณ ,
admin์ ๋ฃ์ผ๋ฉด 1์ ๋ฐํํ๋ค.
์ ๋ถ๋ถ์ ์์ ํ๋ฉด ์ฐ๋ฆฌ๊ฐ ์ํ๋ flag ๊ฐ์ ์์ ๋ฃ์ ์ ์๋ค.
์์ ๋ฐฉ๋ฒ์ ๊ฐ๋ฐ์ ๋๊ตฌ์์ Console ํญ์ผ๋ก ๊ฐ์
users['guest'] = "../flag"๋ฅผ ์ ๋ ฅํ๋ ๊ฒ์ด๋ค.
๊ท์ฐฎ๊ฒ ํ๋ก์๋ฅผ ์ผ์ค ํ์๋ ์๋ค.
์ด์ ์์ ์ ํด์ฃผ๊ณ ๋ค์ guest๋ฅผ ์ ๋ ฅํด๋ณด๋ฉด?
flag ๊ฐ์ด ์ ๋์จ๋ค.
'๐ดCTF > DreamHack' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Dreamhack - ์๊ฒ์, file-download-1 (0) | 2021.11.24 |
---|---|
Dreamhack - ์๊ฒ์, XSS-1 (0) | 2021.11.22 |
Dreamhack - ์๊ฒ์, csrf-1 (0) | 2021.11.21 |
Dreamhack - ์๊ฒ์, php-1 (0) | 2021.11.21 |
Dreamhack - ์๊ฒ์, cookie (0) | 2021.11.21 |