https://dreamhack.io/wargame/challenges/266
session
쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Background: Cookie & Session
dreamhack.io
쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스로
admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있는 문제이다.
가상머신에 접속했다.
로그인 페이지만 접속이 가능하다.
그냥 아무거나 입력해보자 싶어서 guest/guest로 로그인해봤다.
운 좋게도 guest 계정으로 로그인이 가능했다.
쿠키와 세션으로 인증 상태를 관리한다 했으므로
개발자도구에서 세션 쿠키 값을 확인해 봤더니 알 수 없는 값이 있었다.
무슨 값인지 확인하기 위해서 무차별 공격을 해야 한다.
Burp Suite의 Intruder를 사용하여 무차별 공격을 시도했다.
* Burp Suite (버프스위트)
프록시를 사용하여 패킷을 가로채 분석 및 조작, 확인을해서 패킷을 다시 보내줄 수 있는 프로그램
사실 처음 사용해 보는 툴인 줄 알고 걱정했는데, 설치하고 보니 예전에 시큐어 코딩 교육 받을 때 썼던 툴이었다.
Intercept is off 상태에서 guest/guest로 로그인한 다음에
Intercept is on 상태에서 sessionid 값을 확인했다.
sessionid 값을 선택하고 우클릭 > send to intruder를 해준다.
Intruder > posotions에서 내가 선택한 sessionid 값이 $$으로 선택되어 있다.
범위가 잘 선택되었으므로 이제 해당 값만 바꿔 공격해줄 것이다.
Payloads에서 Payload type은 Brute forccer를 선택하고
Character set은 16진수에 해당하는 1~f, 그리고 Min length와 Max length에는 각각 2를 입력한 다음에
Start attack 버튼을 클릭함으로써 무차별 공격을 시작했다.
sessionid 값이 잘 진행되다가 Length 길이가 다른 페이로드를 하나 발견할 수 있었다.
이떄 sessionid 값이 90으로 이게 admin의 sessionid라고 추측했다.
Response에서 플래그를 확인할 수 있었다!
풀이 참고
https://mimzz2.tistory.com/m/78
Burp Suite 다운로드 사이트
https://portswigger.net/burp/communitydownload
'CTF > Dreamhack' 카테고리의 다른 글
[Dreamhack] error based sql injection (0) | 2023.05.02 |
---|---|
[Dreamhack] sql injection bypass WAF (0) | 2023.05.02 |
[Dreamhack] image-storage (0) | 2023.04.12 |
[Dreamhack] File Vulnerability Advanced for linux (0) | 2023.04.12 |
[Dreamhack] session-basic (0) | 2023.04.04 |