📃
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. Cross Site Scripting (XSS)
  4. DOM

Medium

XSS (DOM) level Medium on DVWA

PreviousLowNextHigh

Last updated 3 years ago

Was this helpful?

Di bawah ini adalah source-code dari XSS (DOM) level medium di DVWA.

vulnerabilities/xss_d/source/medium.php
<?php
​
// Is there any input?
if ( array_key_exists( "default", $_GET ) && !is_null ($_GET[ 'default' ]) ) {
    $default = $_GET['default'];
    
    # Do not allow script tags
    if (stripos ($default, "<script") !== false) {
        header ("location: ?default=English");
        exit;
    }
}
​
?> 

Mencari Informasi

Secara visual tidak ada perbedaan pada level ini dan sebelumnya. Jika kita mengubah nilai dari parameter tersebut, maka akan tampil seperti sebelumnya.

Perhatikan pada source code baris ke-8, bahwa terdapat validasi jika mengandung kata "<script" pada nilai parameter default, maka akan di redirect ke parameter ?default=English.

Untuk mengatasi ini kita harus mencari cara lain untuk menjalankan JavaScript tanpa menggunakan tag <script>.

Terdapat cara yaitu dengan fungsi onload pada tag HTML. Tetapi untuk melakukan hal tersebut kita harus tutup terlebih dahulu tag sebelumnya (di sini <select>) agar script yang kita inject bisa berjalan.

Melakukan Serangan

Payload yang kita akan dibuat sesuai dengan hasil recon di atas. Sekarang kita akan menutup tag <select> terlebih dahulu dan dilanjutkan oleh script yang menjalankan JavaScript seperti berikut:

?default=</select><body onload="alert('Hacked')">

Perhatikan dari hasil injetion di atas, tag <select> tertutup terlebih dahulu sebelum tag <option> dan tag <body> memanggil fungsi JavaScript.

Kita juga bisa mendapatkan cookie seperti biasa:

Untuk melakukan serangan XSS, peretas harus paham tentang pola dari HTML website tersebut.

Mudah bukan? Happy Hacking!😁