-
DVWA - CSRF ( Medium, High )모의해킹/Groot - 스터디 2023. 7. 26. 19:53
DVWA - CSRF ( Medium, High ) 입니다
개요
이 포스팅에서는 DVWA(Damn Vulnerable Web Application) - CSRF, Medium/High 단계 실습을 진행하면서 공부했던 내용에 대한 내용을 정리해 보았고, 모두 본인이 소유한 가상머신에서 실습이 이루어졌습니다
실습환경
M1 MacBook Air
16G RAM
UTM - 가상머신
Kali Linux 2023.1 - Apple Silicon (ARM64)목차
1. 취약점 설명 및 분석 - 소스코드 분석, CSRF
2. CSRF 실습
3. 대응방안
취약점 설명 및 분석
소스코드 분석
CSRF - Medium.php CSRF - High.php Medium과 High로 가면서 CSRF를 막기 위해 추가적으로 요청방식 검증과 csrf token을 추가하였다
CSRF - test_credentials.php 비밀번호가 변경되었는지 확인하기 위해 Test Credential 버튼을 클릭해 확인할 수 있다
CSRF
DVWA - CSRF ( Medium, High ) 는 Referer과 user_token으로 CSRF를 막으려 하지만 아래와 같이 CSRF가 발생한다
CSRF 실습
CSRF 적용하기
CSRF - Medium URL에 직접 링크를 입력한 뒤 전송하니 위와 같이 요청이 올바르지 않다는 경고 메시지가 뜬다
CSRF - Medium dvwa 에서 xss(stored)를 이용하여 방금 입력한 URL을 이미지 태그를 이용하여 글을 저장한다
CSRF - Medium 위와 같이 성공적으로 저장되었다
CSRF - Medium 계정의 비밀번호를 password로 바꾼 것이 정상적으로 확인된다
CSRF - High High 레벨에서는 user_token이 추가되었다
user_token은 비밀번호 변경 요청 이후 위와 같이 개발자도구에서 확인 가능하다
CSRF - High 변경 요청을 보내면 새로운 user_token 값을 받는다
CSRF - High 받은 값을 이용해 URL에 변경할 비밀번호를 입력하고 user_token값을 변경한 뒤 전송한다
CSRF - High 전송하면 위와 같이 비밀번호가 변경된다
대응방안
Referer 검증과 변조 불가능한 csrf token 발급한 뒤 동일출처 정책을 이용하여 CSRF를 예방할 수 있다
728x90'모의해킹 > Groot - 스터디' 카테고리의 다른 글
DVWA - Command Injection ( Medium, High ) (0) 2023.07.26 DVWA - Brute Force ( High ) (0) 2023.06.27 DVWA - SQL Injection ( Low ) (0) 2023.06.27 DVWA - Brute Force ( Medium ) (0) 2023.06.21 DVWA - CSRF ( Low ) (0) 2023.06.04