일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 모의해킹
- 세션
- 로그인
- sql injection point
- Python
- csrf
- lord of sqli
- lord of sql injection
- CTF
- css
- sql injection
- 웹개발
- cookie 탈취
- JS
- file upload
- MySQL
- XSS
- union sql injection
- JWT
- blind sql injection
- Reflected Xss
- cors
- 쿠키
- 게시판 만들기
- 로그인페이지
- Error based sql injection
- Los
- Cross Site Request Forgery
- 과제
- php
- Today
- Total
Almon Dev
모의해킹 공부 11주차 (XSS 활용) 본문
11주 차 정리
XSS 대응 방안
HTML Entity 치환
< ' " >와 같이 HTML 구조에 영향을 미치는 특수문자를 HTML Entity로 치환하면 XSS를 막을 수 있습니다.
=> 원천적으로 XSS가 불가능
=> HTML Editor와 같이 사용하지 못하는 곳도 존재 ex) 블로그, 커뮤니티 등
HTML Editor
HTML Editor를 이용하는 사이트를 HTML Entity로 치환을 하면 기능이 작동을 하지 않습니다.
ex) <img>, <b>, <a> 등
대응 방안
1. 사용자의 입력 중 HTML 특수문자를 HTML Entity로 치환합니다.
ex) < > => < >
2. 허용할 태그를 식별하고 그 태그만 살립니다.
=> 화이트 리스트 기반 필터링
ex) <img>, <a>, <b> 등
3. 살린 태그들 내부에 악의적인 이벤트 핸들러를 필터링합니다.
=> 블랙리스트 기반 필터링
ex) onerror, onfocus, onclick 등
Client Script 활용
Page Redirection
location.href = "공격자 서버";
location.replace("공격자 서버");
location.href는 주소창을 의미합니다.
=> 입력한 페이지로 이동시킵니다.
=> 히스토리 기록에 남아 뒤로 가기를 통해 돌아갈 수 있습니다.
location.replace는 입력한 페이지로 전환시키는 함수입니다.
=> 입력한 페이지로 전환시킵니다.
=> 히스토리에 기록이 남지 않아 뒤로 가기를 통해 돌아갈 수 없습니다.
주소창 변조
history.pushState(null, null, "주소");
history.pushState(state, title, url) 함수는 브라우저의 히스토리 객체에 새로운 항목을 추가하는 함수입니다.
이 함수를 이용해 브라우저를 새로고침하지 않고 url을 변경할 수 있습니다.
DOM 객체 접근
document.quertSelector('input');
document.getElementById('input');
document.getElementsByClassName('input');
자바스크립트를 이용해 웹 페이지의 각 태그에 접근할 수 있고, 속성 및 내용을 탈취할 수 있습니다.
Iframe 이용
<iframe src="불러올 사이트" id="target"></iframe>
let iframeTag = document.querySelector('#target');
let domData = iframeTag.contentDocument;
domData.querySelector('가져올 태그');
사이트 내부에 다른 사이트를 불러오는 iframe태그를 이용해 사이트를 이동하지 않고
다른 사이트의 정보를 가져올 수 있습니다.
=> 사이트를 이동하면 실행 중이던 자바스크립트가 종료됨
과제
1. 강의 내용 정리
2. CTF 문제 풀기
3. CTF 풀이 작성 (블로그)
4. 웹 개발 마무리 작업
'모의해킹 > 모의해킹' 카테고리의 다른 글
ctf 풀이 (Steal Info) (0) | 2024.12.31 |
---|---|
ctf 풀이 (Basic Script Prac) (0) | 2024.12.31 |
ctf 풀이 (XSS Challenge) (0) | 2024.12.23 |
ctf 풀이 (XSS 6) (1) | 2024.12.23 |
ctf 풀이 (XSS 5) (1) | 2024.12.23 |