1. 문제 설명
Now it's time to learn another web vulnerability and attack.
2. Writeup
웹 사이트에 접속하면 위와 같은 페이지를 확인할 수 있다.
소스코드나 기타 정보를 문제에서 제공하지 않기 때문에 게싱으로 풀어야 한다.
username과 password에 아무런 값이나 입력하고 로그인을 시도해보았다.
로그인이 실패했다는 메시지와 함께 로그인 버튼 밑에 Need help? 링크가 생성되었다.
Need help? 버튼을 클릭하면 관리자에게 지원 요청을 할 수 있는 창이 열린다.
우측에 있는 [HINT] 버튼을 클릭하면 소스코드를 확인할 수 있다.
소스코드에 딱히 큰 도움이 될만한 부분은 보이지 않는다.
"Admin will check your message soon." 문구에 힌트를 얻어 내가 보낸 메시지를 관리자 봇이 바로 확인한다는 것을 유추할 수 있었고, nc로 listening 서버를 열어 관리자의 세션을 얻었다.
관리자 세션 정보
PHPSESSID=9f46a10b27995d2c3dc889d733d5e34d
http://xss101.sstf.site/admin.php 로 접속하면 Admin service를 확인할 수 있다.
admin.php 페이지는 관리자 봇에게 요청할 때 Referer를 참조하면 확인할 수 있다고 한다. (추가적인 테스트 필요)
세션값을 admin 세션으로 변경하고 새로고침을 하면 FLAG를 휙득할 수 있다.
참고 : 롸업 작성 도중 admin 세션이 변경되어 위 이미지에는 세션값이 다르게 나타나 있다.