Wargame/Web
[Dreamhack.io] Login-1
youung
2022. 8. 3. 17:17
728x90
반응형
admin 함수를 보면, userLevel이 1이면 admin이다.
직접 회원가입을 해서 로그인을 해보면, UserLevel이 0이다
(일반 계정이 유저레벨이 0인 것)
비밀번호 변경 코드를 보면, 회원가입 시 주는 백업코드가 있는데
일치하지 않으면, 주어진 기회 5번에서 -1씩 카운트 한다.
User가 존재하는 계정이면, time.sleep(1)로 1초 지연시키고 있음
time.sleep(1)로 1초 지연되는 동안에 1~100까지 백업 코드를 요청해서 동시 요청으로
5를 초과해버리는 것을 이용하면, MAXRESETCOUNT가 5를 초과해서 백업코드를 맞출 수 있음
내가 가입한 계정의 주소가 /user/17 이어서 /user/1로 가봤더니
UserLevel이 1인 계정이 나타났다.
즉, Apple은 admin 계정이다.
프록시를 걸고 Apple 계정을 비밀번호 변경을 시도한다.
백업코드는 모르니 아무 숫자나 넣는다.
BackupCode에 intruder를 하고
Payloads 타입을 number로 해주고 1부터 100까지 1씩 하도록 하고 start attack을 함
브루트포싱으로 찾은 백업코드를 넣어 Apple / Apple 계정으로 로그인하면 FLAG가 출력
728x90
반응형