본문 바로가기
CTF/Dreamhack

[Dreamhack] login-1

by 8희 2023. 10. 4.

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

 

login-1

python으로 작성된 로그인 기능을 가진 서비스입니다. "admin" 권한을 가진 사용자로 로그인하여 플래그를 획득하세요. Reference Server-side Basic

dreamhack.io

 

admin 계정으로 로그인하면 플래그를 획득할 수 있는 문제로 보인다.

 

 

로그인 페이지에 들어가보니 회원가입과 로그인 기능, 패스워드를 잊었을 때 찾을 수 있는 기능이 있다.

 

 

회원가입을 진행하니 BackupCode를 준다.

 

 

가입한 계정으로 로그인해보면 UserLevel이 0이다.

이 UserLevel이 1이거나 1 이상인 계정이 admin 권한을 가진 사용자일 것이다.

그리고 url을 보면 17이란 숫자가 있는데, 이를 사용자 IDX라고 추측했다.

 

 

17을 1로 변경했더니 UserLevel이 1인 ID와 Name이 출력됐다.

이게 바로 admin 계정의 ID일 것이다.

 

 

Apple 계정을 이용하여 일부러 틀려봤더니 남은 시도 횟수를 알려줬다.

그런데 이 시도 횟수를 보여주는 사이트가 로딩이 걸려 느리게 출력됐다.

 

ID와 BackupCode를 알면 패스워드 변경이 가능하고 시도 횟수를 알려주는 사이트가 로딩이 걸리므로

한 번에 여러 개의 요청을 보내면 패스워드를 변경할 수 있을 것이라 추측했다.

 

 

위 파이썬 코드를 이용하여 1부터 100까지의 BackupCode를 넣어 한 번에 요청을 보냈다.

 

파이썬 코드 실행 후에 Apple/apple 계정으로 로그인에 성공했다. 

 

 

그리고 admin 페이지에 접속해 보니 플래그가 있었다!

 


참고

https://lrtk.tistory.com/78

https://devhacks.tistory.com/121

 

 

 

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

[Dreamhack] simple_sqli_chatgpt  (0) 2023.11.01
[Dreamhack] baby-sqlite  (0) 2023.10.04
[Dreamhack] Broken Password  (0) 2023.10.04
[Dreamhack] file-special-bit  (0) 2023.09.26
[Dreamhack] welcome  (0) 2023.09.26