#CSRF : Cross Site Request Forgery)
- 인터넷을 사용하는 사용자가 자신의 의지와는 무관하게 공격자(해커)가 의도한 행위(생성, 삭제, 변경) 등 을
특정 웹사이트에게 요청하게 만드는 공격
- 희생자(사용자)의 권한에 한해서 실행(공격) 가능.
- 조건
-> 요청을 전송받는 사이트(서비스)에 희생자가 연결이 맺어진 상태(로그인 중)
-> 희생자가 해커가 만든 사이트 혹은 게시글에 접속 혹은, 파일을 실행
-> 웹 어플리케이션에서 정상적인 경로의 요청과 비정상적인 경로의 요청을 서버가 구분하지 못해야 함.
#패스워드 변경을 시도하고, 요청을 전송하지 않고 프록시에 고정.
#변경 후 응답받은 페이지를 분석
- <form ...> : 폼 데이터를 서버로 보낼 때, 데이터가 도착할 url(action 속성), 방식(method) 등이 포함.
- action="#" : 현재 페이지에 남아 있음.
-> 해당 페이지에서 변경을 수행.
#form 태그의 action속성으로 html form 파일(.html)을 하나 생성.
- action : 작업을 수행할 경로
- input type="hidden" : 페이지에 입력받는 곳이 보이지 않게 해줌.
- autocomplete : 자동완성 여부 (패스워드를 브라우저에 저장함)
- name : 적용할 대상
- value : 적용할 값
- tyep="submit" : 버튼 생성
-> 즉, (공격자의) 지정한 비밀번호들을 (희생자가) 버튼만 누르면 자동으로 전달되어서 적용되게 변경.
#파일 시나리오(메일)
#파일 실행
#end
- 버튼을 누르니 "비밀번호가 변경되었습니다." 멘트가 뜨고,
비밀번호 검사를 하니 지정한 비밀번호가 유효하다고 출력된다.
tip) 이 문제를 실습하다 value를 잘못 지정해서 로그인이 안된 적 있는데,
localhost/dvwa/setup.php에서 database를 다시 생성해주면 초기화 된다.
'Web > Dvwa' 카테고리의 다른 글
Dvwa(Level : Low) File Inclusion(RFI, LFI) (0) | 2021.05.17 |
---|