▶ 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 |