ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DVWA - Brute Force ( High )
    모의해킹/Groot - 스터디 2023. 6. 27. 16:50

    DVWA - Brute Force ( High ) 입니다

     

     개요 

    이 포스팅에서는 DVWA(Damn Vulnerable Web Application)  -  Brute Force, High 단계 실습을 진행하면서 공부했던 내용에 대한 내용을 정리해 보았고, 모두 본인이 소유한 가상머신에서 실습이 이루어졌습니다

    실습환경
    M1 MacBook Air
    16G RAM
    UTM - 가상머신
    Kali Linux 2023.1  - Apple Silicon (ARM64)

     

     목차 

    1. 취약점 설명 및 분석  -  소스코드 분석, Brute Force

    2. Brute Force

    3. 대응방안

    4. Secure Coing In Ubuntu  -  2차인증 적용하기

     

     

     

     취약점 설명 및 분석 


     소스코드 분석 

    // 위치 : /var/www/html/dvwa/vulnerabilities/brute/source -> high.php
    // 중요내용 제외 삭제하였음
    <?php
    
    if( isset( $_GET[ 'Login' ] ) ) {
        
        $user = $_GET[ 'username' ];
        $pass = $_GET[ 'password' ];
        $pass = md5( $pass );
    
        // 데이터 베이스 확인하기
        $query  = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";
        $result = mysqli_query($GLOBALS["___mysqli_ston"],  $query );
    
        if( $result && mysqli_num_rows( $result ) == 1 ) {
            // 유저 정보 가져오기
            $row    = mysqli_fetch_assoc( $result );
            $avatar = $row["avatar"];
    
            // 로그인 성공
            echo "<p>Welcome to the password protected area {$user}</p>";
            echo "<img src=\"{$avatar}\" />";
        }
        else {
            // 로그인 실패 -> 0 ~ 3초후 응답
            sleep( rand( 0, 3 ) );
            echo "<pre><br />Username and/or password incorrect.</pre>";
        }
    }
    
    ?>

    입력 받은 아이디와 비밀번호를 그대로 이용하여 회원정보를 조회하고
    로그인 성공일경우 성공메시지를, 0~3초후 실패할경우 실패메시지를 띄우주도록 되어있다 

     

     

     Brute Force 

    user_token을 적용하지 않고 보내도 정상적으로 로그인이 된다

    따라서 아이디와 비밀번호입력 횟수제한이 없으므로 Brute Force 공격이 가능하다

     

     

     

     Brute Force 

    user_token을 삭제하고 보내도 정상적으로 로그인이 된다

     

    아이디와 비밀번호만 있어도 로그인이 가능하므로 wfuzz를 사용하여 Brute Force 공격을 진행했다

    제일 처음 시도한 password에서 Word의 길이가 257로 다르므로 Brute Force 공격에 성공했다

     

     

     

     대응방안 

    로그인 횟수 제한, Captcha 활용, 2차 인증, ip차단을 이용하여 Brute Force 공격을 막을 수 있다

     

     

     

     Secure Coing In Ubuntu 


     2차 인증 적용하기 

    Brute Force 를 막기 위하여 PHP로 Captcha를 구현했다

    아래글은 Captcha 이미지를 보고 숫자를 입력한 뒤 로그인해야 로그인에 성공하도록 만들었다
    또한 숫자로만 이루어지도록 취약하게 만들어 KNN을 이용하여 Brute Force를 진행해보았다

    https://ruang0124.tistory.com/262

     

     

    728x90

    '모의해킹 > Groot - 스터디' 카테고리의 다른 글

    DVWA - CSRF ( Medium, High )  (0) 2023.07.26
    DVWA - Command Injection ( Medium, High )  (0) 2023.07.26
    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.