6 - 1 - 1. Simple - SSTI ๋๋ฆผํต ๋ฌธ์ ํ์ด
# Simple - SSTI ๋๋ฆผํต ๋ฌธ์ ํ์ด
1. ๋ฌธ์ ์ ๋ณด ํ์ธ ํ ๋ฌธ์ ํ์ผ ๋ค์ด๋ก๋
- SSTI(Server Side Template Injection) ์ทจ์ฝ์ ์ด๋?
: ๊ณต๊ฒฉ์์ ์ํด ์ฝ์ ๋ ์ ์ฑ ํ์ด๋ก๋๊ฐ ์๋ฒ ์ธก์์ ์คํ๋๋ฉฐ ๋ฐ์ํ๋ ์ทจ์ฝ์
+ ์ ์ฑ ํ์ด๋ก๋๋ฅผ ์ฝ์ ํ๋ ๊ณผ์ ์์ ์๋ฒ์ ๊ธฐ์กด ๊ธฐ๋ณธ ํ ํ๋ฆฟ ๊ตฌ๋ฌธ์ด ์ด์ฉ๋ ์ ์์
- ํ ํ๋ฆฟ ๋ฐ ํ ํ๋ฆฟ ์ธ์ด๋?
: ํน์ ์ธ์ด์ ๋ณ์, ๋ฌธ๋ฒ์ html ์์์๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋๋ก ๋๋ ์ธ์ด
ex) flask์ jinja2, django์ python๊ณผ html
2. ์ ์ ์ ๋ณด ํ์ธ ํ ์๋ด๋ ๋งํฌ๋ก ์ ์
3. 404Error, robots.txt ํ์ด์ง๋ก ๊ฐ๊ฐ ์ ์
4. ์๋จ url์ ๊ฒฝ๋ก์ /whereflag ์ถ๊ฐํด๋ณด๊ธฐ
--> ์๋ฒ๊ฐ ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ๋ฐ์ ํ์ด์ง์ ๊ฒฝ๋ก๋ฅผ ๊ทธ๋๋ก ์ถ๋ ฅํจ์ ํ์ธ
5. ๋ฌธ์ ํ์ผ app.py์ ์ฝ๋ ๋ถ์
+ << Line 19 ~ 25 >>
: Flask python์์ ๋ํ๋๋ ์ทจ์ฝ์ ์ค ํ๋์ธ SSTI ์ทจ์ฝ์ ์ด ๋ฐ์ํจ์ ํ์ธ
--> ๋ฌธ์ ์ ์ฌ์ดํธ๋ Flask์ jinja2 ๋ฌธ๋ฒ๊ณผ ์ฐ๊ด๋ ํ ํ๋ฆฟ์ ์ด์ฉ
+ << Line 26 ~ 27 >>
: % (request.path)์ ์ด์ฉํ์ฌ ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ๋ฐ์ ๊ฒฝ๋ก๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋
6. ๋ค์ ์ ์์ ๋ณด์ url๋ก ์ ์ํ์ฌ url ์๋จ์ /{{config.items()}} ์ ๋ ฅ
+ ์ ์ฌ์ดํธ์ฒ๋ผ flask์ jinja2 ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, {{..}} ํํ์ ํ ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ ๊ณต๊ฒฉ ๊ฐ๋ฅ
--> ํ ํ๋ฆฟ์ ํํ๋ฅผ ์ค์ํ๋ฉฐ {{config.items()}} ๋ช ๋ น ์์ฑ
7. Flag๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ถ๋ ฅ๋จ์ ํ์ธ
'โ๏ธ Web Hacking > Dreamhack' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Dreamhack] Login-1 ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.14 |
---|---|
[Dreamhack] Session ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.10 |
[Dreamhack] php-1 ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.08 |
[Dreamhack] Proxy-1 ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.07 |
[Dreamhack] Blind - Command ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.03 |