-
DOM 접근 및 조작을 이용하여 XSS 공격_2IT/웹 해킹 2024. 1. 17. 15:10
[이 블로그는 해킹 공부하면서 가볍게 정리용으로 기록 및 내 생각을 끄적여 두기 위한 블로그(라 쓰고 일기라 읽는)이다.]
- 목차
- CTF 문제 및 시나리오
- 실습
1. CTF 문제 및 시나리오
실제 중요 정보가 있는 페이지는 열리지 않아서 (권한 없음) 똑같이 생긴 페이지의 정보에서 플래그 데이터 위치를 알아내고 취약점이 있는 게시판에 스크립트문을 사용하여 XSS공격을 할 계획이다. 이때 관리자의 계정(관리자 봇)을 이용하기 위해 ifram태그를 이용할 것이다. (현재 html문서에 관리자 계정의 프레임을 삽입)
2. 실습
1) 중요 정보가 있는 페이지와 똑같은 페이지
- 내 정보에 This is a Very Secret Info.라고 적혀 있는 것으로 보아 이 HTML문서에 저 글씨가 쓰여 있는 곳의 객체에 Flag가 숨겨져 있을 것으로 추측됨.
2) document.getElementByClassName('card-text')[1].innerHTML 로 문서의 글자를 가져와보았다. p tag로 글씨 내용을 가져오기 위해 innerHTML을 사용하였다. (innerHTML은 객체의 정보를 바꿀 때에도 사용된다.)
3) 실제 중요 정보가 있는 페이지
접속시 권한이 없다며 '권한 노노'의 경고 알림 창이 뜬다.(
먼가 기분이 나쁘다.)4) Stored XSS 취약점이 있는 곳을 찾아내어 공격할 스크립트 구문을 작성
-코드설명-
(1) iframe에 mypage.html이 아니라 실제 중요 정보가 있는 페이지가 있는 secret.php 문서의 주소를 입력해 주고 id=targetId라는 id값을 지정해 준다.
(2) 이 관리자 계정의 주소가 열리면서 스크립트 문이 실행되고 target이라는 변수에 targetId의 객체문서 id값을 담아준다.
(3) target.onload의 Eventhandler를 이용하여 함수를 실행시키고 이때 객체문서의 내용을 DOMData에 담고 flag에 비밀데이터가 있는 위치의 객체값 내용을 지정해 준다.
(4) 이미지 태그를 생성하여 공격자 서버의 주소 + flag(가져올 데이터)를 붙여 저장
5) 관리자 봇에게 저장된 게시물 링크를 전달
6) 공격자 서버에서 데이터 확인
플래그 데이터 획득!
'IT > 웹 해킹' 카테고리의 다른 글
CSRF(Cross Site Request Forgery) (0) 2024.01.18 DOM 접근 및 조작을 이용하여 XSS 공격_3 (0) 2024.01.17 DOM 접근 및 조작을 이용하여 XSS 공격 (0) 2024.01.16 XSS 이용하여 쿠키 탈취하기 및 취약점 분석 보고서 (0) 2024.01.11 XSS(Cross Site Scripting) (2) 2024.01.11