Study/Web

XSS(Cross Site Scripting)

seomj 2021. 6. 13. 12:41

XSS란?

cross site scripting의 약자

악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법

클라이언트를 대상으로 한 공격

사용자의 정보(쿠키, 세션, 토큰 등) 탈취

크게 세가지로 분류: reflected xss, stored xss, dom based xss

 

 

Reflected XSS

반사형 크로스 사이트 스크립팅

사용자에게 입력 받은 값을 서버에서 되돌려 주는 곳에서 발생

 

  1. 공격자가 악의적인 스크립트를 삽입한 URL 생성
  2. 사용자에게 해당 URL을 누르도록 유도
  3. URL을 누른 사용자는 악의적인 스크립트의 실행으로 공격을 당함

 

 

Stored XSS

웹 서버에 저장되었다가 실행이 되는 스크립트 공격

 

  1. 공격자가 웹 애플리케이션에서 xss 취약점이 있는 곳을 파악
  2. 악성스크립트 삽입 -> DB에 저장
  3. 사용자가 공격자가 작성한 게시글, 댓글 등을 실행
  4. 악성 스크립트가 사용자에게 전달되어 실행
  5. 사용자의 정보가 공격자에게 전달되며 공격을 당함

 

 

DOM Based XSS

브라우저에서 발생하는 공격페이지에 포함된 클라이언트 측 코드는 DOM 환경에서 발생한 악의적인 변조로 인해 공격 구문이 실행

 

  1. 공격자가 취약점이 있는 브라우저를 대상으로 URL을 생성
  2. 이메일을 통해 사용자에게 전송
  3. 해당 URL을 클릭하며 사용자는 공격을 당함

 

 

WebGoat

Cross Site Scripting -> 7

Step 1)'Purchase'를 누르면 카드 번호가 그대로 출력되는 것을 확인

 

 

Step 2) 스크립트 구문 삽입

스크립트 구문이 작동됨

 

 

Step 3) 스크립트 구문으로 인식되어 삽입된 것을 확인

 

 

Cross Site Scripting -> 10

경로에 대한 설명이 나와 있고 test 코드의 경로를 찾아야 함

 

 

Step 1)JS 파일 확인

goatrouter.js

test에서 testRoute를 확인

 

testRoute를 따라 가보니 testHandler로 파라미터 값을 넘겨줌

 

testHandler를 따라 가보니 showTestParam으로 값을 넘겨줌

 

showTestParam을 보니 htmltest 뒤에 parm 값이 들어가는 것을 확인

 

 

Step 2) 경로에 맞춰 파라미터 값을 설정

 

 

Step 3) 스크립트 구문으로 인식되어 삽입된 것을 확인

 

 

 

참고

https://noirstar.tistory.com/266

'Study > Web' 카테고리의 다른 글

[DVWA] Stored XSS  (0) 2021.06.13
[DVWA] Reflected XSS  (0) 2021.06.13
[Web]robots.txt  (0) 2021.01.03
[Web][beebox]HTML Injection - Reflected (GET)  (0) 2020.12.21
HTTP Request, Response  (1) 2020.07.12