본문 바로가기
CTF/Dreamhack

[Dreamhack] CSRF Advanced

by 8희 2023. 11. 22.

https://dreamhack.io/wargame/challenges/442

 

CSRF Advanced

Description Exercise: CSRF Advanced에서 실습하는 문제입니다. 문제 수정 내역 2023.08.08 Dockerfile 제공

dreamhack.io

 

CSRF 취약점을 이용하는 문제이다.

 

 

가상머신에 접속하면 네 종류의 페이지가 있다.

please login을 보면 로그인을 하라는 건가 싶다.

 

 

문제 코드를 살펴보면

guest로 로그인할 수 있고, admin으로 로그인하면 플래그를 얻을 수 있는 것 같다.

 

 

우선 guest 계정으로 로그인 했다.

 

 

login()에서 로그인이 성공했을  때, 세션과 csrf 토큰을 얻을 수 잇는 것을 알 수 있다.

usernaem+addr의 값을 md5 연산하면 토큰을 구할 수 있다.

 

change_password()에서 csrf_token을 비교하는 조건이 있다.

찾은 토큰 값과 변경하고자 하는 비밀번호를 같이 넣어주면

admin의 비밀번호를 바꿀 수 있는 것 같다.

 

 

MD5 해시 생성기를 이용해서 토큰 값을 구했다.

이 토큰 값을 이용해서 flag 페이지에 넘겨줄 것이다.

 

 

<image src="/change_password?pw=admin&csrftoken=7505B9C72AB4AA94B1A4ED7B207B67FB">

플래그 페이지에 위 태그를 입력해줬다.

 

 

 

그리고 변경한 pw인 admin으로 로그인 했다.

 

 

플래그가 출력됐다!

 


참고

https://velog.io/@eunbi2222/dreamhack-Wargame-CSRF-Advnaced

'CTF > Dreamhack' 카테고리의 다른 글

[Dreamhack] Reversing Basic Challenge #2  (0) 2024.03.30
[Dreamhack] Reversing Basic Challenge #1  (0) 2024.03.23
[Dreamhack] csrf-1  (1) 2023.11.22
[Dreamhack] set-int  (0) 2023.11.15
[Dreamhack] csrf-2  (0) 2023.11.15