Cross Site Scriptine (XSS)
클라이언트 사이드 취약점 중 하나. 공격자가 웹 리소스에 악성 스크립트를 삽입해 이용자의 웹 브라우저에서 해당 스크립트 실행. 공격자는 해당 취약점을 통해 특정 계정에 세션 정보를 탈취하고 임의의 기능을 수행할 수 있음.
종류설명
Stored XSS | XSS에 사용되는 악성 스크립트가 서버에 저장되고 서버의 응답에 담겨오는 XSS |
Reflected XSS | XSS에 사용되는 악성 스크립트가 URL에 삽입되고 서버의 응답에 담겨오는 XSS |
DOM-based XSS | XSS에 사용되는 악성 스크립트가 URL Fragment에 삽입되는 XSS |
Universal XSS | 클라이언트의 브라우저 혹은 브라우저의 플러그인에서 발생하는 취약점으로 SOP 정책을 우회하는 XSS |
주로 자바스크맂트가 공격에 사용됨
Stored XSS
서버의 데이터베이스 또는 파일 등의 형태로 저장된 악성 스크립트를 조회할 때 발생하는 XSS.
게시물과 댓글에 스크립트를 포함해 업로드하는 방식.
Reflected XSS
서버가 악성 스크립가 담긴 요청을 출력할 때 발생.
이요자가 게시물을 검색했을 때 검색 문자열에 악성 스크립트가 포함되어 있다면 Reflected XSs가 발생할 수 있음
Stored XSS와 달리 이용자의 요청에 의해 발생함.
이용자에게 악성스크립트가 포함된 링크에 접속하도록 유도하기 위해 Click Jacking이나 Open Redirect 등 다른 취약점과 연계
퀴즈
퀴즈
1) xss 취약점이 발생하는 곳 : 클라이언트 + 서버
2) 공격스크립트가 서버 내에 존재하는 데이터베이스 또는 파일 등으로 저장되어 있다가 이용자가 공격 스크립트를 조횐하는 순간 발생하는 형태의 xss : Stored XSS
3) 이용자의 요청에 악성스크립트가 포홤되는 xss : reflected XSS
문제 풀이
문제풀이
xss-1
<script>location.href="/memo?memo="+document.cookie;</script>
위 코드를 flag 페이지에 작성하여 cookie 값을 memo 페이지에 띄울 수 있었따.
xss-2
<script>로의 사용은 불가하여서 <img> 태그를 이용하여 쿠키를 얻어냈다!
'정리 > web hacking' 카테고리의 다른 글
[Beebox] HTML injection - Reflected(POST), Stored(Blog) (0) | 2023.09.16 |
---|---|
[beebox] 설치 및 html injection (0) | 2023.07.16 |
[XSS game] level 3, 4, 5 (0) | 2023.07.09 |
[XSS game] Level 1, Level 2 (0) | 2023.07.02 |
[web] Cross Site Request Forgery (CSRF) (0) | 2023.05.28 |
댓글