CTF 문제의 목표
본 CTF 문제는 XSS를 활용해서 CSRF 공격을 성공시켜 admin 계정을 탈취하여 로그인하는 것입니다. 목표는 CSRF를 시도할 요청을 분석하여 url 형태로 CSRF 페이로드를 작성하여 XSS 취약점을 통해 관리자의 암호를 변경하여 계정을 탈취하는 것입니다. 아래 개념에 대해서 알고 있어야 합니다.
- XSS/CSRF에 대한 개념
- Stored XSS 공격기법
- Img 태그를 통해 요청을 전송하는 방식
실습 환경
본 문제는 아래와 같은 환경과 도구를 통해 테스트하였습니다.
- Windows 10
- Burp Suite
풀이 단계
전체적인 실습 단계는 아래와 같습니다.
- 회원가입 및 로그인으로 어드민 계정 생성
- 비밀번호 변경 요청의 구조 분석
- GET/POST 방식 작동 여부 확인
- form submit시에 alert가 작동하여 공격이 발각될 수 있음을 인지
- Alert 방지를 위해 XSS 취약점을 식별하여 img 태그를 활용한 Stored XSS 페이로드 작성
- 관리자 접근 및 플래그 탈취
상세한 문제풀이
1) ctfkill / 3333 으로 회원가입하였습니다. 안내된 대로 회원가입시에 ctfkill_admin이라는 계정이 생성됩니다.
2) '마이페이지'에서 비밀번호를 변경하는 요청을 전송한 다음 Burp Suite로 요청 패킷의 구조를 분석합니다. 3개의 파라미터가 POST 방식으로 전송되는 것을 파악했으며, 그 중 pw 파라미터의 값을 관리자의 권한으로 전송하게 된다면 관리자의 암호를 변경할 수 있습니다.
3) Burp Suite에서 Change Method을 통해서 GET 방식으로 요청이 전송되는지 확인했습니다. 다행히 요청이 성공적으로 적용됩니다.
4) form을 전송하면 alert가 발생하여 관리자가 눈치채게 됩니다. 따라서 URL 형태로 그대로 전송하게 된다면 관리자는 alert를 보고 빠르게 암호를 변경하여 공격에 대응하여 공격자는 관리자 권한을 탈취하는 것에 실패합니다.
5) XSS 취약점을 게시판에서 찾아냈고 img 태그를 활용하여 요청을 전송하면 alert가 발생하지 않는 것을 이용하여 공격 페이로드를 작성했습니다.
6) 이제 Stored XSS가 있는 위치로 관리자가 접근하게 되면 관리자의 암호가 3333으로 변경되어 관리자 권한으로 로그인할 수 있게 됩니다.
'🚩CTF Write up' 카테고리의 다른 글
Burp Suite Prac 3 - SegFault Web Hacking CTF Write up (0) | 2024.01.30 |
---|---|
Burp Suite Prac 1 - SegFault Web Hacking CTF Write up (0) | 2024.01.30 |
Steal Info 2 - SegFault Web Hacking CTF Write up (0) | 2024.01.21 |
Steal Info 1 - SegFault Web Hacking CTF Write up (0) | 2024.01.21 |
Basic Script Prac - SegFault Web Hacking CTF Write up (0) | 2024.01.20 |