Pengujian Cross-Site Scripting (XSS) pada Fitur Search
1. Pengertian XSS
Cross-Site Scripting (XSS) adalah kerentanan keamanan web yang terjadi ketika aplikasi tidak memvalidasi atau mengamankan input pengguna dengan benar.
Input yang seharusnya dianggap sebagai teks dapat diproses oleh browser sebagai HTML atau JavaScript.
2. Recon & Target Pengujian
Sebelum melakukan pengujian keamanan dilakukan proses:
Reconnaissance
Memahami struktur aplikasi
Menentukan fitur yang menerima input
Menganalisis bagaimana input diproses
Contoh target:
Target:
Xxx.fbi.gov
Fitur:
Search Input
3. Area yang Sering Diuji
Beberapa tempat yang sering menjadi titik pengujian:
Search box
Form input
Parameter URL
Komentar
Profil pengguna
Contoh alur:
User Input
↓
Website menerima data
↓
Server memproses
↓
Browser menampilkan hasil
4. Payload Testing XSS
Contoh payload untuk pengujian validasi input:
<script>alert('XSS PajarPriandana')</script>
Tujuan:
Mengecek apakah input diproses sebagai script
Melihat apakah aplikasi melakukan filtering
Menguji keamanan output halaman
5. Konsep Encoding XSS
Encoding adalah proses mengubah karakter menjadi format lain.
Contoh karakter:
< → %3C
> → %3E
' → %27
Contoh encoded:
%3Cscript%3Ealert%28%27XSS%20PajarPriandana%27%29%3C%2Fscript%3E
Decoded kembali:
<script>alert('XSS PajarPriandana')</script>
6. Tujuan Encoding Testing
Encoding digunakan untuk memahami bagaimana aplikasi menangani:
Karakter khusus HTML
Input pengguna
Proses decoding
Output halaman
7. Analisis Hasil
Jika aman:
Input tampil sebagai teks:
<script>alert('XSS PajarPriandana')</script>
Berarti aplikasi melakukan proteksi seperti:
Output encoding
Escaping
Filtering
Jika berisiko:
Input diproses oleh browser sebagai kode.
Perlu dilakukan review keamanan.
8. Dampak XSS
Potensi dampak:
Manipulasi tampilan halaman
Penyisipan konten tidak sah
Penyalahgunaan sesi pengguna (tergantung konteks)
Risiko terhadap pengguna lain
9. Dokumentasi Temuan
Nama Temuan:
Potential Reflected XSS
Lokasi:
Search Feature
Input Uji:
<script>alert('XSS PajarPriandana')</script>
Rekomendasi:
Terapkan input validation
Gunakan output encoding
Terapkan Content Security Policy (CSP)
Hindari memasukkan input user langsung ke HTML
10. POC
11. Kesimpulan
Pengujian XSS bertujuan memastikan aplikasi dapat menangani input pengguna dengan aman. Proses ini membantu menemukan potensi kelemahan sebelum disalahgunakan oleh pihak yang tidak bertanggung jawab.
Catatan: pengujian hanya dilakukan pada sistem yang memiliki izin atau lingkungan lab keamanan.



Komentar
Posting Komentar