Study/Web

[DVWA] CSRF

seomj 2021. 6. 13. 16:59

CSRF

Low

Step 1) 패스워드 '1234'로 변경

 

 

Step 2) response를 통해 password 값의 폼 데이터 확인

 

 

Step 3) html 작성

csrf_low.html

 

 

Step 4) 해당 html 접속

Test Credentials에서 확인해보면 변경된 것을 확인할 수 있음

 

 

 

Medium

view source)

referer 확인

-> 같은 서버에서 요청이 올 경우 referer이 같음

 

 

Step 1) 정상 변경 시 referer 확인

 

 

Step 2) csrf_low.html 접속

referer 값이 일부 생략됨

 

 

Step 3) html 작성

csrf_(ip)_medium.html

브라우저 정책으로 인해 url path, query string에 포함된 개인정보가 유출되는 것을 방지

-> referer에서 origin이 동일하지 않다면 수집 불가능

 

referrerpolicy 설정

unsafe-url로 설정하여 보안에 관계없이 요청을 수행할 때 원본, 경로 및 쿼리 문자열을 보냄

 

 

Step 4) 해당 html 접속

referer 값이 나오는 것을 확인

 

 

 

High

view source)

Anti-CSRF token: 사용자 브라우저에 정보(토큰)를 제공하고 웹 브라우저가 다시 전송하는지 확인하는 것

 

 

Step 1) csrf_high.js 작성

*Ajax: 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지 일부만을 위한 데이터를 로드하는 기법

*익스플로러 7과 그 이상의 버전, 크롬, 파이억폭스, 사파리, 오페라에서는 XMLHttpRequest 객체, 익스플로러의 구형 버전인 5와 6 버전에서는 ActiveXObject 객체를 사용

 

*withCredentials: HTTP Cookie와 HTTP Authentication 정보를 인식할 수 있게 해주는 요청

 

regax에 정규표현식으로 user_token 값만을 가져옴

token 값과 바꿀 pass 값을 넣어 url 생성

 

 

Step 2) csrf_high.js 실행

 

 

Step 3) 해당 토큰을 가지고 csrf_high.html 작성 후 실행

 

 

 

Impossible

기존 비밀번호 검사

'Study > Web' 카테고리의 다른 글

[DVWA] CSP Bypass  (0) 2021.06.14
CSP(Content Security Policy)  (0) 2021.06.14
[WebGoat] CSRF  (0) 2021.06.13
CSRF(Cross Site Request Forgery)  (0) 2021.06.13
[DVWA] DOM Based XSS  (0) 2021.06.13