네트워크 구성
CSRF 개념
- 공격자가 Victim에서 의도치 않은 Request 메시지를 발생시키도록 유도하는 공격이다.
- Victim에서 Request 메시지가 발생하기 때문에 Attacker의 IP 추적이 어렵다.
- XSS와 달리 자바스크립트를 사용할 수 없는 상황에서도 공격이 가능하다.
CSRF 공격 방법
- Attacker가 Web Site 게시판에 글을 작성하고, 해당 게시물을 일반 사용자가 확인했을 때 해당 사용자의 회원 정보가 변경되도록 설정하려고 한다.
Web Site에서 CSRF 공격 여부 확인
1. Paros에서 메시지 확인
- Kali Linux에서 Paros를 실행시킨 후 Firefox에서 Local Proxy 설정을 한다.
- Paros를 통해 Request 메시지 전송 과정을 분석 후 공격을 진행한다.
- 회원정보를 수정할 경우 닉네임과 이메일이 GET메소드를 통해 전송되는 것을 확인할 수 있다.
- 특정 페이지를 확인을 해주는 역할이 Referer인데 이 패킷을 지워도 처리가 된다면 CSRF 공격이 가능하다.
(다른 페이지에서 요청을 하는 경우에도 처리를 해주기 때문이다.)
- referer를 지운 이후 Continue 버튼을 눌러서 처리가 되는지 확인한다.
- referer를 확인하지 않고 회원정보를 변경하는 것을 확인할 수 있다.
CSRF Script 삽입
- 회원정보 시 전송되는 Get 메소드 정보를 저장한다.
- 그 후 가로, img태그를 달고 세로 길이를 0으로 설정하여 게시판에 올릴 CSRF 스크립트를 생성한다.
- 방명록에 들어온 후 해당 CSRF 스크립트를 삽입한다. (Victim에게는 보이지 않는다.)
Victim PC에서 테스트
- Victim에서 다른 계정으로 로그인한다.
- 회원정보를 확인해보면 정상적인 정보가 존재한다.
- Attacker가 올린 게시물을 클릭한다.
- 다시 회원정보를 확인해보면 닉네임과 이메일이 변경된 것을 확인할 수 있다.
'Hacking & Security > Web Hacking & Security' 카테고리의 다른 글
[Web Hacking & Security] SQL Injection을 통한 Database Schema 파악 (0) | 2020.01.06 |
---|---|
[Web Hacking & Security] SQL Injection 공격 (0) | 2020.01.06 |
[Web Security & Hacking] XSF(Cross Site Flash) 공격 (0) | 2020.01.02 |
[Web Hacking & Security] NC(Netcat) 사용방법 (0) | 2020.01.02 |
[Web Hacking & Security] XSS(Cross Site Script) 공격 및 대응방법 (0) | 2020.01.02 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊