| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- picoCTF
- 안드로이드리버싱
- 아티팩트
- 자바입문
- 자바복습
- follina
- 백준
- 컴공
- 칼리리눅스
- Burpsuite
- 앱
- CTF
- 볼라틸리티
- artifact
- 버프스위트
- 포렌식
- 혼자공부하는자바
- ReverseEngineering
- 3wayhandshaking
- 포트스캔
- 와이어샤크
- 문제풀이
- pico
- suninatas
- Forensic
- baekjoon online judge
- 소프트스퀘어드
- KaliLinux
- 메모리포렌식
- 9012
- Today
- Total
컴퓨터공학 전공생의 보안 도전기✌
[Security FACT] 웹해킹 Week 4 본문
Origin
<scheme>,<hostname>,<port>로 구성.
도메인과 비슷하지만, origin은 프로토콜과 포트번호(optional)가 포함된다.

즉 두 URL이 같은 origin을 가지고 있다는 이야기는 이 3(2)가지가 동일한 경우를 말한다. 두 URL의 origin이 다른 경우를 Cross Origin이라고 한다.

SOP(Same-Origin Policy)
한 origin에서 로드된 문서 또는 스크립트가 다른 origin의 리소스와 상호작용할 수 있는 방법을 제한하는 중요한 보안 매커니즘.
즉 동일한 origin을 가질 때만 데이터를 읽어올 수 있게 하는 정책.
CORS(Cross Origin Resource Sharing)
cross origin의 경우에도 데이터를 불러와야 하는 경우가 생긴다. 그럴 때 HTTP header를 이용하여 다른 origin의 데이터를 사용할 수 있도록 하는 매커니즘.
모든 API 호출을 허용하는 단순한 방식(Simple Request)도 있고, Pre-flight를 이용해 각 URL당 통제를 하는 방식(Preflight Request)도 있다.
서버로 HTTP OPTIONS라는 요청을 보내면 해당 URL에 접근이 가능한 Origin URL과 HTTP method 정보들을 반환해준다. 이렇게 실제 요청을 보내도 안전한지 확인하기 위해 test request를 보내보는 과정을 preflight이라고 한다. 이 정보를 바탕으로 허용하는 조건이라면 실제로 요청을 보낸다.


XSS
공격자가 게시판이나 웹 메일 등에 JS(Java Script)와 같은 코드를 삽입하여 개발자가 고려하지 않은 기능이 작동하게 하는 공격.
조건
- 악성 스트립트가 삽입될 수 있을 만큼 낮은 검증 수준을 가진 웹 사이트
- 정보가 웹 사이트에서 바로 출력될 수 있을 만큼 낮은 검증 수준을 가진 웹 사이트
종류
Reflected XSS
XSS에 사용되는 악성 스크립트가 URL에 삽입되고 서버의 응답에 담겨오는 XSS

ex) 게시판 서비스에서 작성된 게시물을 조회하기 위한 검색창에서 스크립트를 포함해 검색하는 방식
사용자가 직접 이 스크립트가 포함된 문자열을 실행시킬 수 있도록 유도해야 함
Stored XSS
XSS에 사용되는 악성 스크립트가 서버에 저장되고 서버의 응답에 담겨오는 XSS

게시글 또는 댓글에 악성 script를 삽입하는 방법이 주로 사용.


DOM Based XSS
XSS에 사용되는 악성 스크립트가 URL Fragment에 삽입되는 XSS
Universal XSS
클라이언트의 브라우저 혹은 브라우저의 플러그인에서 발생하는 취약점으로 SOP 정책을 우회하는 XSS
방지법
- <script> 문자 필터링
- php 함수 중 htmlentities(모든 특수문자를 HTML Entity로 변경)라는 함수 사용
Reference
https://developer.mozilla.org/ko/
MDN Web Docs
The MDN Web Docs site provides information about Open Web technologies including HTML, CSS, and APIs for both Web sites and progressive web apps.
developer.mozilla.org
'Security > Web hacking' 카테고리의 다른 글
| [Security FACT] 웹해킹 Week 6 (0) | 2022.05.13 |
|---|---|
| [Security FACT] 웹해킹 Week 5 (0) | 2022.05.06 |
| [Security FACT] 웹해킹 Week 3 (0) | 2022.04.08 |
| [Security FACT] 웹해킹 Week 2 (0) | 2022.04.01 |
| [Security FACT] 웹해킹 Week 1 OT (0) | 2022.04.01 |