-
[webhacking] 2. CSRF ( Cross Site Request Forgery )해킹/webhacking 2023. 4. 10. 00:54
CSRF
교차 사이트 요청 위조라는 뜻의 CSRF는, 공격자가 HTTP 요청을 위조하여 피해자의 권한으로 임의의 사이트에 요청을 보내는 것입니다.
공격 방법은 XSS와 비슷하게, 악성 스크립트를 실행하도록 게시판에 글을 올려 조회하도록 유도하거나, 특정 URL로 접속하게 만드는 방법 등이 있습니다.
이 때, 공격자는 쿠키를 사용하여, 로그인이 되어 있어 세션 정보가 있다면, 실제로 효과적인 공격을 가할 수 있습니다.
공격 방법
HTML의 Img 태그를 이용하여 GET 방식으로 요청을 보내거나, form 태그를 사용해서 POST 방식으로도 보낼 수 있습니다.
<img src = "http://bank/sendMoney?to=white-hack&amount=9999999">
위와 같이, img src에 get 방식의 요청을 입력하여, 해당 게시물을 볼 때, 자동으로 get 요청이 가도록 할 수 있습니다.
<form action= "http://white-hack/changepassword" method = "POST"> <input type = "hidden" name = "password" value = "1234"/> <input type = "submit" value = "click"/> </form>
form 태그의 경우 input type을 hidden으로 설정하여, 사용자가 버튼을 클릭했을 때, 사용자도 모르게 비밀번호를 내가 아는 1234로 변경하도록 할 수 있습니다.
XSS와 CSRF의 차이점
xss는 인증 정보인 쿠키와 세션을 탈취하는 것이 목적이라면, CSRF는 쿠키와 세션을 이용해서 이용자의 권한으로 특정 사이트로 HTTP 요청을 보내는 것이 목적입니다.
문제 풀이
다음 워게임 문제를 풀면서 CSRF 실습을 해보도록 하겠습니다.
'해킹 > webhacking' 카테고리의 다른 글
[webhacking] 1. XSS ( Cross Site Scripting ) / feat. SOP (0) 2023.03.05