안녕하세요. me0w2en입니다.
많은 분들이 애용하고 계실 써니나타스의 문제 풀이를 작성해 보겠습니다.
직전 CSR CTF 문제 풀이 중 처음으로 다뤄본 pcap 파일에 대해 다른 문제 유형이 궁금하여 찾아본 문제입니다.
문제 정보는 아래와 같습니다.
Site : http://suninatas.com/challenge/web16/web16.asp
Date : 2023.07.17
Type : system
써니나타스 사이트의 회원정보를 찾아내는 문제입니다.
문제 파일을 다운받으면 pcap 파일이 주어집니다.
WireShark로 파일을 열어보면 긴 분량의 네트워크 패킷이 확인할 수 있습니다.
써니나타스 외 다양한 사이트를 방문한 흔적을 볼 수 있었는데 아래 경로로 HTTP에서 발생한 패킷 정보의 파일을 추출하여 스크립트를 확인해 보았습니다.
경로는 [File] - [Export Objects] - [HTTP]
텍스트 필터 기능을 활용하여 호스트명이 suninatas인 파일들을 확인할 수 있습니다.
이름을 보니 로그인 기능으로 유추되는 mem_action.asp가 반복되는 걸 볼 수 있는데 이 중 하나를 선택하여 stream을 확인하였습니다.
경로는 [Analyze] - [Follow] - [HTTP Stream]
그러면 위와 같은 스크립트를 확인해 볼 수 있습니다.
기초적인 JS 문법이라 어렵지 않게 로그인과 관련된 함수를 찾을 수 있습니다.
위 함수는 Hid와 Hpw로 로그인 정보를 받고, 로그인을 시도하면 아까 확인했던 mem_action.asp를 만듭니다.
검색 기능으로 Hpw로 받은 입력 값을 모두 찾아보면 아래와 같이 정리됩니다.
Hid=suninatas&Hpw=suninatas
Hid=blackkey&Hpw=blackkey
Hid=ultrashark&Hpw=sharkpass01
Hid=ultrashark&Hpw=%3Dsharkpass01
Hid=ultrashark&Hpw=%3DSharkPass01
하나씩 대입하여 로그인해서 문제를 풀 수도 있지만, 이 중 문자열이 거의 겹치는 4, 5번의 형태가 가장 유력한 답이라고 생각할 수 있습니다.
특히 pw에 있는 %3D는 URL 인코딩 형태로 ASCII로는 = 을 나타내기 때문에 저처럼 URL 인코딩 형태를 처음 접해보시는 분들이라면 놓치기 쉬운 부분 같습니다.
그렇게 찾은 계정 정보로 써니나타스 사이트에 로그인해보면 팝업 창으로 flag를 획득할 수 있습니다.
🚩 Flag : WireSharkBetterThanWirelessShark
'Write up' 카테고리의 다른 글
SuNiNaTaS Forensic 18번 (0) | 2023.08.03 |
---|---|
SuNiNaTaS Forensic 14번 (0) | 2023.08.02 |
CSR CTF 2023 - backup (0) | 2023.07.26 |