Abstrak
Cross-Site Scripting (XSS) merupakan salah satu jenis serangan pada aplikasi web yang memanfaatkan kelemahan dalam validasi input pengguna. Serangan ini memungkinkan penyerang untuk menyisipkan skrip berbahaya ke dalam halaman web yang kemudian dijalankan oleh browser korban. Penelitian ini bertujuan untuk menganalisis cara kerja serangan XSS pada form input sederhana berbasis PHP serta mengidentifikasi dampak yang ditimbulkan terhadap keamanan data pengguna. Metode yang digunakan adalah eksperimen langsung dengan melakukan simulasi serangan pada sistem yang tidak memiliki validasi input yang baik. Hasil penelitian menunjukkan bahwa sistem sangat rentan terhadap serangan XSS apabila tidak menerapkan sanitasi input dan encoding output. Oleh karena itu, diperlukan mekanisme keamanan tambahan seperti filtering input dan penggunaan fungsi htmlspecialchars() untuk mencegah serangan tersebut.
Kata kunci: XSS, keamanan web, input validation, PHP, serangan siber
Pendahuluan
Perkembangan teknologi web yang pesat membawa berbagai kemudahan dalam kehidupan manusia. Namun, di sisi lain, meningkatnya penggunaan aplikasi web juga diiringi dengan meningkatnya ancaman keamanan. Salah satu ancaman yang sering terjadi adalah Cross-Site Scripting (XSS).
XSS terjadi ketika aplikasi web gagal memvalidasi input dari pengguna sehingga memungkinkan penyerang menyisipkan kode JavaScript berbahaya. Serangan ini dapat mencuri data penting seperti cookie, session, bahkan informasi login pengguna.
Penelitian ini bertujuan untuk:
- Memahami konsep dasar XSS
- Menganalisis cara kerja serangan XSS
- Mengidentifikasi dampak yang ditimbulkan
- Memberikan solusi pencegahan
Tinjauan Pustaka
Pengertian XSS
Cross-Site Scripting (XSS) adalah teknik serangan injeksi kode yang memungkinkan penyerang mengeksekusi skrip di browser korban.
Jenis-Jenis XSS
- Stored XSS → Script disimpan di database
- Reflected XSS → Script berasal dari URL
- DOM-Based XSS → Manipulasi langsung pada DOM browser
Dampak XSS
- Pencurian cookie
- Pengambilalihan akun
- Redirect ke website berbahaya
- Deface tampilan web
Metodologi
Metode yang digunakan adalah eksperimen dengan langkah berikut:
- Membuat web sederhana menggunakan PHP
- Menyediakan form input (komentar / login)
- Tidak menggunakan validasi input
- Melakukan simulasi serangan XSS
- Menganalisis hasil
Implementasi dan Pengujian
Sistem yang Digunakan
- Bahasa: PHP
- Database: MySQL
- Web Server: Apache (XAMPP)
Contoh Kode Rentan
<?php
echo "Komentar: " . $_GET['komentar'];
?>Simulasi Serangan
Input:
<script>alert('XSS berhasil');</script>Hasil
Browser akan menampilkan popup alert, menandakan bahwa script berhasil dijalankan.
Analisis Hasil
Hasil menunjukkan bahwa:
- Sistem tidak melakukan validasi input
- Script langsung dieksekusi browser
- Website sangat rentan terhadap serangan
Dampak nyata:
- Cookie bisa dicuri
- Session bisa diambil alih
- User dapat diarahkan ke website phishing
Solusi dan Pencegahan
Beberapa cara untuk mencegah XSS:
✅ 1. Sanitasi Input
$input = htmlspecialchars($_GET['komentar']);✅ 2. Validasi Data
Batasi hanya input tertentu (misal huruf & angka)
✅ 3. Gunakan CSP (Content Security Policy)
✅ 4. Escape Output
✅ 5. Gunakan Framework Aman
Seperti Laravel (sudah ada proteksi bawaan)
Kesimpulan
Cross-Site Scripting (XSS) merupakan ancaman serius dalam keamanan web yang dapat terjadi akibat kurangnya validasi input. Dari hasil penelitian, terbukti bahwa aplikasi web sederhana sangat rentan terhadap serangan ini. Oleh karena itu, pengembang harus menerapkan teknik keamanan seperti sanitasi input dan encoding output untuk melindungi data pengguna.
Referensi
- OWASP. (2023). Cross Site Scripting (XSS).
- W3Schools. PHP Security.
- Kurniawan, D. (2020). Keamanan Aplikasi Web.
- OWASP Top 10 Web Vulnerabilities