반응형

WEB hacking/드림핵(dreamhack) 36

Dreamhack Special Letter Translator WriteUp

문제 풀이app.pytranslator 페이지에서 dill.loads를 통해 base64로 인코딩 된 데이터를 역직렬화 한다.dill에서 역직렬화 취약점이 존재하기 때문에 RCE가 가능하다. 하지만 vip token이 존재해야지 해당 요청을 전송할 수 있다.@app.route('/translator', methods=['GET', 'POST'])def translator(): token = request.cookies.get('Authorization') decoded_token = verify_vip_token(token) if not decoded_token: return jsonify({"error": "VIP CAN USE!"}), 403 if request.me..

Dreamhack Are you admin? WriteUp

문제 풀이app.py메인 페이지 접근 시 intro 페이지로 리다이렉트 진행한다.intro 페이지에서는 name과 detail 파라미터가 존재하며, intro.html에 값을 전달한다.@app.route("/", methods=["GET"])def index(): return redirect("/intro")@app.route("/intro", methods=["GET"])def intro(): name = request.args.get("name") detail = request.args.get("detail") return render_template("intro.html", name=name, detail=detail)intro.html만약 name과 detail이 존재한다면 ..

Dreamhack Hello, go! WriteUp

문제 풀이app.go 분석 시 template을 사용하는데 name의 값을 %s로 입력 받으며, 사용자 검증이 없기 때문에 SSTI 공격이 가능하다.package mainimport ( "html/template" "net/http" "bytes" "fmt" "strings" "github.com/labstack/echo/v4")func greetHandler(c echo.Context) error { name := c.QueryParam("name") if name == "" { name = "go" } if strings.Contains(strings.ToLower(name),"flag"){ return c.String(http.StatusBadRequest, "flag is not allowed..

드림핵 simple-phparse WriteUp

문제 풀이소스코드 host: $host path: $path query: $query"; if(preg_match("/flag.php/i", $path)){ echo "NO...."; } else echo "Cannot access flag.php: $path "; ?> parse_url($url, PHP_URL_PATH)의 값이 flag.php이면 차단되며, flag.php에 접속할 경우 flag를 확인할 수 있다. path에 //를 입력할 시 NULL이 되어 우회가 가능하다. 또한 fl%61g.php로 url인코딩으로도 해결할 수있다.  참고 문헌 PHP Parse_url 함수 분석 / 취약점 | 2017 블랙햇 SSRF 공격parse_url..

드림핵 access-log WriteUp

문제 풀이로그파일flag 부분에서 != 부분만 추출?id=1' AND 8487=IF((ORD(MID((SELECT IFNULL(CAST(COUNT(*) AS CHAR),0x20) FROM dvwa.flag),1,1))!=49),SLEEP(1),8487)-- Adyu&Submit=Submit HTTP/1.1" 200 1795 "-" ?id=1' AND 9329=IF((ORD(MID((SELECT IFNULL(CAST(`value` AS CHAR),0x20) FROM dvwa.flag ORDER BY id LIMIT 0,1),1,1))!=68),SLEEP(1),9329)-- QEcW&Submit=Submit HTTP/1.1" 200 1806 "-" ?id=1' AND 9329=IF((ORD(MID((SELE..

반응형