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

Postingan Populer