Medium
XSS (DOM) level Medium on DVWA
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!😁
Last updated
Was this helpful?