XSS 3

[Dreamhack] XSS Filtering Bypass Advanced 풀이

이번엔 XSS Filtering Bypass가 Advanced 돼서 돌아왔다..! 무려(?) 3단계다.. 뭐가 달라졌는지 알아보자 저번 문제와 같이 3개의 페이지가 있다. /vuln 페이지이다. 스크립트 사용이 가능하다는 것을 보여준다. @app.route("/vuln") def vuln(): param = request.args.get("param", "") param = xss_filter(param) return param /vuln 소스코드다. param의 파라미터 값을 받아서 xss_filter에 넘겨준다. def xss_filter(text): _filter = ["script", "on", "javascript"] for f in _filter: if f in text.lower(): ret..

Dreamhack 2024.03.24

[Dreamhack] XSS Filtering Bypass 풀이

오늘은 XSS Filtering Bypass를 풀어보자. 몇 달 전에 풀었지만 기억이 가물가물해서 다시 풀어볼거다. 문제 페이지이다. vuln(xss) page와 memo, flag 3개의 페이지가 따로 있다. vuln(xss) page를 접속하게 되면 get으로 파라미터에 를 사용했고, 실제 동작하는 모습이다. img src 취약점이 있다 라는 것을 보여주려고 vuln 페이지를 만들어 둔 것 같다. memo 페이지를 들어가보자 memo 페이지에서는 hello가 출력되어 있는 모습이다. url을 보니 memo?memo=hello 이다. memo= 뒤의 문자열을 메모해서 보여주는 것 같다. 아니나 다를까 GET으로 cert라는 문자열을 보내니 'cert' 라는 문자열이 입력된 모습이다. 마지막으로 flag..

Dreamhack 2024.03.20