문제
admin 계정으로 접속하자!
현재 우리의 계정은 다음과 같다. [ID/PW] : doldol / dol1234
http://ctf.segfaulthub.com:1129/2/
풀이
로그인 인증에서 취약점을 찾기 위해서는 인증이 어떻게 구성되어 있는지, 어떤 로직으로 처리되었는지 파악해야 한다. 그 과정 없이는 로직의 허점을 찾는 것이 불가능하다.
따라서 가장 먼저 해야 하는 것은 주어진 정보로 로그인을 하는 것이다.
- POST로 데이터 전송
- 올바른 ID와 PW 값일 때 응답 코드는 302, index.php 로 리다이렉션
- Response에서
Set cookie: loginUser=doldol
→ 쿠키로 접근 시, 해당 사용자임을 인식하고 사용자 정보를 담음
admin 계정으로 접속하기 위해 쿠키를 변조해야 한다.
이를 위해 Intercept를 킨다.
이후, 새로고침을 한다.
그러면 다시 index.php로 요청을 하게 된다. 이 때, loginUser를 지우고 admin으로 변경한 후 전송한다.
다시 페이지로 돌아가면 플래그가 출력되어 있으며, 다음과 같이 로그인에 성공한 것을 확인할 수 있다.
실행 결과
cf. Repeater를 통해서도 플래그를 획득할 수 있다
배운점
- Burp Suite를 통해 Intercept 사용하기
- 쿠키 탈취
CTF 풀이에 대해서는 한 길로만 빠지지 말 것.
로직을 먼저 이해하고,
- 세션 값으로 식별하고 있는지
- 쿠키로 인증하고 있는지
- 요청 헤더를 통해 응답하고 있는지
등을 먼저 알고 접근해야 한다. 인증을 웹 서버에서 어떻게 처리하는지 분석하는 것이 중요하다.
'모의해킹 > 웹해킹스터디' 카테고리의 다른 글
CTF - Login Bypass (1) | 2024.11.29 |
---|---|
SQL Injection 이해하기 (0) | 2024.11.29 |
CTF - Burp Suite Prac (0) | 2024.11.29 |
JavaScript 기초 문법 다지기 및 키로거 만들기 (0) | 2024.11.29 |
Burp Suite 사용법 (0) | 2024.11.27 |