본문 바로가기

Web_Hacking

CSRF

 CSRF(Cross Site Request Forgery)

  • 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 해서 특정 웹 페이지를 수정, 삭제 등의 작업을 하게 만드는 공격 기법
  • 임의 이용자의 권한으로 임의 주소에 http 요청을 보낼 수 있는 취약점
  • CSRF 공격에 성공하기 위해서는 공격자가 작성한 악성스크립트를 이용자가 실행해야 함
    • 이는 공격자가 이용자에게 메일을 보내거나 게시판에 글을 작성해 이용자가 이를 조회하도록 유도하는 방법 등이 있음.

 

 공격기법

  •  URL 뒤에 공격자가 의도한 특정 단어/주소를 이어붙이는 형식
  •  소스코드를 분석 - 사용자가 패스워드 변경페이지/타 시스템과 로그인 연동주소 패턴 파악
  •  해당 취약점을 이용하여 공개된 게시판 / 피씽 메일을 발송하여 공격
http://example.com/user.do?cmd=user_passwd_change?&user=admin&newpwd=1234

 

  • img tag도 Get method를 사용해서 악용가능
<img src = "https://example.com/id_update?.admin">

<img src="/sendmoney?to=hacker&amount=1000000">
  • 사용자 측에서 update변경이 가능하면 공격요건이 충족됨
    • 취약한 사이트에서 사용자가 인증하여 서버로부터 session_id를 받은 후, 이를 cookie에 저장하였을 경우
    • 해당 사용자가 악성 공개 게시판/피싱메일 접속 시 공격자가 해당 사용자의 권한을 탈취해서 악용!

 

 대응기법

  •  Referer 체크
    • HTTP 헤더엔 해당 요청이 요청된 페이지의 정보를 가지고 있음
    • 해당 정보는 Paros,Zap,Fiddler와 같은 툴로 변경 가능 -> 악용될 요지가 있음
  •  Security Token
    • 임의 난수를 발급하여 사용자 인증에 사용

 

XSS 와 CSRF의 차이

  •  유사점 : 클라이언트를 대상으로 하는 공격이며, 악성 스크립트를 웹 페이지에 작성해 공격한다는 점
  • 차이점 : 공격에 있어 다른 목적을 가짐
    • XSS : 인증 정보인 세션 및 쿠키 탈취 목적 / 공격할 사이트의 origin에서 script 실행
    • CSRF : 이용자가 임의 페이지에 HTTP 요청을 보내는 것이 목적 / 공격자는 악성 script가 포함된 페이지에 접근한 이용자의 권한으로 웹서비스의 임의 기능 실행 가

'Web_Hacking' 카테고리의 다른 글

web_hacking  (0) 2023.09.19
XSS(Cross Site Scripting)  (0) 2023.03.06
SOP(Same Origin Policy)  (0) 2023.01.13