📃
Anggi's Notes
  • Tentang Penulis
  • Preambule
  • Tutorial Red Team Area (General)
    • Tutorial Setup VirtualBox
    • Tutorial Setup Kali Linux pada VirtualBox
    • Network Adapter Type pada Virtual Box
    • Tutorial Port Forwarding Pada Virtual Box
    • Mempercepat update/upgrade/install Kali Linux
    • Networking in a Nutshell
    • Linux in A Nutshell
    • Linux Command Intro
    • VA-PT Cheatsheet
    • Penetration Testing Guide & Checklist
    • Pentesting Web checklist
    • NMAP Cheatsheet
    • Bind vs Reverse Shell Concept
    • Reverse Shell Cheatsheet
    • Linux TTY Shell Cheat Sheet
    • Menaikkan Common Shell ke Meterpreter
    • Metasploit Cheatsheet
      • msfvenom
      • searchploit
    • Metasploitable-2
    • Metasploitable-3
    • Linux Privilege Escalation
      • Linux Privilege Escalation with Misconfigured /etc/passwd
      • Linux Privilege Escalation with SUID
      • Linux Privilege Escalation with Misconfigured Sudo
      • Linux Privilege Escalation with MSF
    • DVWA
      • Brute Force
        • Low
        • Medium
        • High
      • Command Injection
        • Low
        • Medium
        • High
      • Local File Inclusion
        • Low
        • Medium
        • High
      • File Upload Vulnerability
        • Low
        • Medium
        • High
      • Cross Site Scripting (XSS)
        • Reflected
          • Low
          • Medium
          • High
        • Stored
          • Low
          • Medium
          • High
        • DOM
          • Low
          • Medium
          • High
      • SQL Injection
        • Non Blind
          • Low
          • Medium
          • High
        • Blind
          • Low
          • Medium
          • High
      • CSRF
        • Low
        • Medium
        • High
    • Pentesting Report Sample
    • Tutorial Penggunaan ZAP
    • Windows VA/Audit
      • DetExploit
      • HardeningKitty
      • Tutorial Installasi OWASP ZAP pada Windows OS
    • Linux VA/Audit dengan Lynis
    • Mobile Security Framework (MobSF) Windows Docker
  • Tutorial Red Team Area (Teknik Windows Attack )
    • Reconnaissance Techniques
    • Windows Red Team Exploitation Techniques
    • Windows Red Team Defense Evasion Techniques
  • Tutorial Blue Team Area
    • Merancang SOC
    • IR Playbook
    • Blue Team Opensource Online Tools
    • Wireshark Query Cheatsheet
  • Temuan Celah Keamanan
    • LFI (Directory Traversal) di redacted.co.id
    • Kredensial Database dan Azure Leaks pada redacted.com
    • HTML Injection di Tokopedia
    • 🤪4300$ Bounty from Opensource automate recon tools, why not?
    • I hacked Mastercard 4 times? But How?
    • LFI dan RCE di aset redacted.com
    • FTPd DOS di aset redacted.co.id
    • Gitlab SSRF di redacted.com
    • Firebase Android database Takeover
    • RCE di 11 Subdomain Dell
    • SSRF di redacted.com
    • Reflected XSS di CelticPipes
    • Git Disclosure di redacted.co.id
    • Open Redirection+XSS pada Private Program Bugcrowd
    • Rails Debug Mode Enabled pada redacted.com
Powered by GitBook
On this page
  • Mencari Informasi
  • Melakukan Serangan

Was this helpful?

  1. Tutorial Red Team Area (General)
  2. DVWA
  3. Brute Force

Low

Brute Force level Low on DVWA

Di bawah ini adalah source-code dari form login level low di DVWA.

vulnerabilities/brute/source/low.php
<?php
​
if( isset( $_GET[ 'Login' ] ) ) {
    // Get username
    $user = $_GET[ 'username' ];
​
    // Get password
    $pass = $_GET[ 'password' ];
    $pass = md5( $pass );
​
    // Check the database
    $query  = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";
    $result = mysqli_query($GLOBALS["___mysqli_ston"],  $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );
​
    if( $result && mysqli_num_rows( $result ) == 1 ) {
        // Get users details
        $row    = mysqli_fetch_assoc( $result );
        $avatar = $row["avatar"];
​
        // Login successful
        echo "<p>Welcome to the password protected area {$user}</p>";
        echo "<img src=\"{$avatar}\" />";
    }
    else {
        // Login failed
        echo "<pre><br />Username and/or password incorrect.</pre>";
    }
​
    ((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);
}
​
?>

Mencari Informasi

Perhatikan bahwa form ini menggunakan method GET, sehingga data akan dikirim melalui URL. Contohnya, ketika saya mengisi nilai username menjadi "admin" dan password "123456", maka data tersebut akan terlihat di URL-nya:

http://172.17.0.2/vulnerabilities/brute/?username=admin&password=12345&Login=Login#

Dan jika inputan salah akan muncul pesan seperti pada baris ke-26, yaitu muncul pesan seperti berikut:

Selain itu kita bisa melihat cookie-nya terlebih dahulu menggunakan Burpsuite (atau menggunakan inspect element pada browser).

Terlihat bahwa terdapat cookie PHPSESSID dan security yang digunakan untuk mengatur web itu sendiri. Cookie ini akan kita gunakan untuk melakukan brute force.

Jika kita mengamati source-code-nya lagi, terlihat bahwa tidak adanya Anti-CSRF token, limit maupun CAPTCHA. Dengan demikian kita bisa dengan mudah melakukan brute force.

Melakukan Serangan

Pertama, siapkan wordlist yang akan kita gunakan. Saya telah membuat wordlist sendiri, seperti berikut:

Kedua, buka terminal dan jalankan tool Hydra seperti berikut:

hydra 172.17.0.2 -l admin -P DVWA-Wordlist.txt http-get-form "/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:F=Username and/or password incorrect.:H=Cookie:PHPSESSID=77jr5376ldag1qc392brdr2b11; security=low"

Penjelasan:

  • 172.17.0.2 adalah IP target yang kita tuju (bisa juga menggunakan domain).

  • -l admin, di sini saya mengasumsikan bahwa kita tahu username dari target adalah "admin" (bukan yang lain).

  • -P DVWA-Wordlist.txt berfungsi untuk menentukan file wordlist untuk password yang akan dicoba satu per satu.

  • http-get-form berfungsi untuk menentukan method yang digunakan pada form adalah GET.

  • username=^USER^&password=^PASS^ nilai tersebut akan diisi dari username (-l) dan password (-P) yang telah kita tentukan sebelumnya.

  • F=Username and/or password incorrect. digunakan untuk membandingkan hasil brute force. Jika menghasilkan teks tersebut berarti password tidak valid.

  • H=Cookie: digunakan untuk mengatur cookie yang digunakan ketika mengakses web tersebut.

Hasil dari perintah di atas adalah seperti berikut:

Terlihat bahwa kata "password" adalah password yang valid.

Jika kita coba pada web, maka akan tampil seperti berikut:

Yups! Selamat! Kita berhasil melakukan brute force pada level low, sekarang kita lanjut ke level medium.😁

PreviousBrute ForceNextMedium

Last updated 3 years ago

Was this helpful?

Untuk mengetahui lebih lanjut tenang method GET ini, anda bisa membaca .

artikel CodeSaya
8KB
password.txt
50B
user list.txt
DVWA Wordlist