Low

XSS (Reflected) level Low on DVWA

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

vulnerabilities/xss_d/source/low.php
<?php

# No protections, anything goes

?> 

Information Gathering

Jika dilihat dari source code-nya, developer belum membuat validasi apa pun, sehingga kita bisa dengan mudah melakukan serangan.

Oke, seperti biasa, pertama-tama kita akan melakukan recon terlebih dahulu pada website target. Terdapat menu select untuk pemilihan bahasa. Dan jika kita view source akan terlihat bahwa pilihan dari menu tersebut menggunakan JavaScript.

Singkatnya, fungsi document.write() adalah untuk membuat Document Object Model.

Perhatikan, form ini menggunakan method GET dan menggunakan parameter default. Jika kita mencoba melakukan request dengan menekan select, maka yang kita akses adalah link seperti berikut:

http://172.17.0.2/vulnerabilities/xss_d/?default=English

Tetapi apa yang terjadi jika kita membuat mengganti nilai dari parameter default tersebut menjadi "Test"?

http://172.17.0.2/vulnerabilities/xss_d/?default=Test

Terlihat bahwa teks tersebut akan ter-print di halaman web tersebut.

Exploit

Sekarang kita akan melakukan inject pada parameter tersebut agar menjalankan script yang kita inginkan seperti berikut:

?default=<script>alert("Hacked")</script>

Kita sisipkan menjadi link seperti berikut:

http://172.17.0.2/vulnerabilities/xss_d/?default=<script>alert("Hacked")</script>

Dan BOOM! Script tersebut tampil!

Pada "kejahatan yang sebenarnya" peretas akan mengirim link XSS tersebut ke victim untuk menjalankan script yang telah ia buat.

Kita jika bisa mendapatkan cookie dengan payload berikut ini:

<script>alert(document.cookie)</script>

Jika kalian melihat view source , maka kalian tidak akan menemukan script tersebut.

Ini karena script tersebut menjadi Document Object Model bukan menjadi halaman HTML. Ini lah yang membuatnya sulit untuk dideteksi.

Gimana sampai saat ini sudah mengerti tentang DOM-based XSS? Cukup mudahkan? Coba kita lanjut ke tahap selanjutnya.

Happy Hacking!🍻

Last updated