Security/Write Up
[Dreamhack] csrf-1
2er0127
2023. 5. 31. 23:35
CSRF 란 클라이언트에서 사용자 권한을 이용해 다른 주소로 HTTP 요청을 보내는 취약점이다.
XSS 와의 다른 점은 XSS는 세션과 쿠키 정보를 뺏는 것에 집중하지만, CSRF는 실제 클라이언트 사용자인 것처럼 다른 서버에 거짓 요청을 보낸다는 점이다.
먼저 app.py 파일 분석을 해보면
["frame", "script", "on"] 문자열이 XSS 필터링되고 있다.
그럼 필터링 되지 않는 img 태그를 써볼 수 있을 것같다.
Dreamhack Tools에서 제공해주는 서버로 img 태그를 써보니 GET 요청 성공
<img src="https://gufwbuc.request.dreamhack.games">
app.py 의 FLAG 호출 함수를 보면,
/admin/notice_flag 위치에 userid가 admin일 때 memo에 쓰여지는 것을 알 수 있다.
/flag 페이지에 쿼리 스트링(Query String)을 이용한 공격 코드를 작성한다.
<img src="/admin/notice_flag?userid=admin">
/memo 페이지에서 FLAG가 잘 뜨는 것이 확인된다.
728x90