Cross Site Scripting , atau yang lebih dikenal dengan “XSS”. Cross Site Scripting (XSS) Dilakukan oleh si penyerang dengan memasukkan kode HTML yang akan di eksekusi oleh webserver. Bug ini masuk kedalam kategori bug yang fatal, karena penyerang dapat mencuri cookies dari sebuah web. Bagaimana cara menutup celah keamanannya?, kita bisa menggunakan htmlentities(), dan htmlspecialchars(). Dibawah ini adalah salah satu simulasi dari bagaimana source code sebuah website yang rentan terhadap bug Cross Site Scripting (XSS) dan cara menutup Bug nya.
<form method="get">
<input type="text" name="xss"></input>
</form>
<?php
$xss = $_GET['xss'];
echo "Hasil = $xss";
?>
setelah selesai coding source code diatas, kita save dengan extensi .php, setelah itu langsung kita upload ke hosting. Teman teman belum memiliki hosting? langsung saja kunjungi https://host.theblackpaper.org atau chat nomor dibawah ini +6282230589068 untuk membeli hosting berkualitas dengan harga yang bersahabat. Setelah kita upload di hosting, terdapat sebuah form. Kita coba masukkan kode html untuk melihat bug Cross Site Scripting (XSS). Berikut adalah kodenya
<u>test Bug Cross Site Scripting (XSS)</u>
setelah kita masukkan di form tersebut, klik enter pada keyboard teman teman. Bisa dilihat, terdapat teks yang diberi garis bawah, hal ini menunjukkan bahwa website tersebut memiliki celah keamanan Cross Site Scripting (XSS). Bagaimana cara menutup kerentanannya ya?, kita gunakan htmlspecialchars() atau htmlentities(). Disini saya menggunakan htmlspecialchars() untuk mengkonversi 4 karakter khusus HTML, Diantaranya adalah <, >, & dan “, karakter yang dikonversikan ini tidak akan diproses oleh webserver dehingga tidak akan terjadi serangan Cross Site Scripting (XSS). Yuk kita ubah source codenya..
<form method="get">
<input type="text" name="xss"></input>
</form>
<?php
$xss = htmlspecialchars($_GET['xss']);
echo "Hasil = $xss";
?>
Kita ganti file sebelumnya dengan source code yang baru, masukkan kode HTML Dibawah ini di form yang ada.
<u>test Bug Cross Site Scripting (XSS)</u>
bisa kita lihat, kode yang kita masukkan di form yang ada tidak diproses oleh webserver. Teks yang muncul sama dengan apa yang telah kita masukkan di form, termasuk kode yang telah kita masukkan. Sekian artikel kali ini, Terima kasih