ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.