Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
    • Data & AI
      • Data Analyst
      • Data Scientist
      • AI Engineer
      • Data Engineer
      • Business Intelligence (BI) Specialist
    • Infrastruktur & Keamanan
      • Network Engineer
      • System Engineer
      • DevOps Engineer
      • Security Engineer
      • Cloud Engineer
    • Programming & Web Development
      • Web & App Developer
      • Web Developer
      • WordPress Developer
      • Mobile Developer
    • Spesialisasi
      • Blockchain Engineer
      • IOT Engineer
      • Digital Marketing Specialist
  • Elearning
  • Blog
  • Portfolio
Daftar
Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
    • Data & AI
      • Data Analyst
      • Data Scientist
      • AI Engineer
      • Data Engineer
      • Business Intelligence (BI) Specialist
    • Infrastruktur & Keamanan
      • Network Engineer
      • System Engineer
      • DevOps Engineer
      • Security Engineer
      • Cloud Engineer
    • Programming & Web Development
      • Web & App Developer
      • Web Developer
      • WordPress Developer
      • Mobile Developer
    • Spesialisasi
      • Blockchain Engineer
      • IOT Engineer
      • Digital Marketing Specialist
  • Elearning
  • Blog
  • Portfolio

Reflected XSS pada Fitur Pencarian Aplikasi Web LabKeu

  • October 1, 2026
  • oleh Devina Ghea Amanda

Dalam penetration testing, setiap fitur yang menerima input dari pengguna perlu diperiksa dari sisi keamanan. Salah satu jenis kerentanan yang umum diperiksa pada aplikasi web adalah Reflected Cross-Site Scripting (XSS).

Reflected XSS dapat terjadi ketika input dari pengguna dipantulkan kembali oleh server ke halaman web tanpa proses escaping atau encoding yang sesuai. Dalam kondisi tertentu, browser dapat memperlakukan input tersebut sebagai bagian dari HTML atau JavaScript.

Pada pengujian aplikasi LabKeu, fitur pencarian menjadi salah satu area yang diperiksa karena menggunakan parameter yang berasal dari input pengguna. Pengujian dilakukan secara bertahap mulai dari pemeriksaan layanan, pengecekan endpoint, pemeriksaan source code, hingga pengiriman marker melalui request HTTP.

🔎 Fokus Pengujian

Topik: Pengujian Potensi Reflected Cross-Site Scripting (XSS)

Aplikasi: LabKeu

Fitur: Pencarian

Endpoint: /search

Parameter: q

Metode: Black-box Web Application Testing dengan pemeriksaan source code sebagai evidence pendukung

❓ Apa Itu Reflected XSS?

Reflected XSS adalah kerentanan yang terjadi ketika data yang dikirim oleh pengguna dimasukkan kembali ke dalam response halaman tanpa pengamanan output yang memadai.

Secara sederhana, alurnya dapat digambarkan sebagai berikut:

Input pengguna
↓
Server menerima parameter
↓
Parameter diproses
↓
Nilai dikembalikan ke response
↓
Browser menerima response

Apabila data pengguna dikembalikan tanpa encoding atau escaping yang sesuai, terdapat kemungkinan browser memproses data tersebut sebagai bagian dari HTML atau JavaScript. Oleh karena itu, pengujian tidak cukup hanya dengan melihat apakah suatu input dapat dikirim. Response dan cara aplikasi memproses input juga perlu diperiksa.

🌐 Mengenal Fitur Pencarian LabKeu

Sebelum melakukan pengujian keamanan, terlebih dahulu dilakukan pemeriksaan terhadap layanan aplikasi untuk memastikan web server sedang berjalan dan dapat menerima koneksi pada port yang digunakan.

Pada LabKeu, layanan web berjalan pada port 3000. Pemeriksaan dilakukan dari terminal Ubuntu menggunakan file informasi koneksi TCP sistem.

grep -i ':0BB8' /proc/net/tcp

Nilai hexadecimal 0BB8 merupakan representasi dari port 3000. Dari hasil pemeriksaan terlihat bahwa layanan tersebut sedang dalam keadaan listening.

Screenshot tersebut digunakan sebagai bukti awal bahwa layanan web LabKeu aktif pada port yang digunakan selama pengujian.

🔍 Memeriksa Endpoint Pencarian

Setelah layanan dipastikan aktif, endpoint pencarian diperiksa menggunakan request HTTP dari komputer penguji.

curl.exe -I http://192.168.56.105:3000/search

Hasil pemeriksaan menunjukkan response 302 Found dengan tujuan /login. Hal ini menunjukkan bahwa endpoint /search tersedia, tetapi akses langsung tanpa session autentikasi diarahkan kembali ke halaman login.

HTTP/1.1 302 Found
Location: /login

Hasil ini penting untuk dokumentasi karena menunjukkan perilaku endpoint ketika diakses tanpa autentikasi. Pada tahap ini belum dapat disimpulkan adanya XSS.

🧩 Memeriksa Source Code Fitur Pencarian

Setelah endpoint ditemukan, langkah berikutnya adalah memeriksa source code aplikasi untuk mengetahui route yang menangani pencarian.

grep -Rni "router.get('/search'\|app.get('/search'\|/search" /home/labkeu/lab-simulasi-gemati/app/routes /home/labkeu/lab-simulasi-gemati/app/server.js

Perintah tersebut digunakan untuk mencari bagian source code yang berkaitan dengan endpoint /search. Pemeriksaan source code membantu mengetahui file route yang digunakan aplikasi dalam menangani request pencarian.

Source code tersebut digunakan sebagai evidence pendukung untuk memahami bagaimana request pencarian diproses oleh aplikasi.

🔎 Memeriksa Parameter Pencarian

Dalam pengujian Reflected XSS, salah satu bagian penting adalah mengetahui apakah aplikasi menerima parameter yang berasal langsung dari pengguna. Pada fitur pencarian LabKeu, parameter yang diperiksa adalah q.

grep -RniE "req\.query\.q|query\.q|q\s*=" /home/labkeu/lab-simulasi-gemati/app

Perintah tersebut digunakan untuk mencari penggunaan parameter q pada source code aplikasi. Dari pemeriksaan ini dapat diketahui bagian kode yang mengambil nilai input pencarian.

Secara umum, bentuk request pencarian dapat dituliskan sebagai berikut:

/search?q=kata-kunci

Parameter q menjadi perhatian karena nilainya berasal dari input pengguna dan kemudian diproses oleh aplikasi.

Screenshot ini menunjukkan hasil pencarian parameter yang berkaitan dengan fitur pencarian pada source code aplikasi.

🧪 Pengujian Menggunakan Marker

Sebelum melakukan pengujian menggunakan payload keamanan, digunakan sebuah marker teks sederhana sebagai baseline.

DEVINA-PENTEST-3009

Marker tersebut digunakan untuk melihat bagaimana aplikasi menangani nilai yang dikirim melalui parameter q.

curl.exe -i "http://192.168.56.105:3000/search?q=DEVINA-PENTEST-3009"

Request tersebut digunakan untuk melihat response HTTP ketika parameter pencarian berisi marker yang telah ditentukan.

Mau Kuasai Reflected XSS pada Fitur Pencarian Aplikasi Web LabKeu Sampai Bisa Praktik Langsung?

Materi ini juga kami ajarkan langsung di kelas Edusoft Center, dibimbing mentor, sampai kamu bisa praktik nyata — bukan cuma baca teori.

Tanya Kursus via WhatsApp Lihat contoh project nyata dari siswa kami →

Evidence ini digunakan untuk mencatat bagaimana server memberikan response terhadap request pencarian yang membawa nilai marker.

⚠️ Apakah Reflected XSS Sudah Terbukti?

Hasil pengujian perlu dibedakan antara indikasi dan vulnerability yang benar-benar terkonfirmasi.

Dalam pengujian ini, endpoint /search berhasil ditemukan dan parameter q juga dapat diidentifikasi dari source code. Namun, akses langsung ke endpoint tanpa autentikasi memberikan response 302 Found yang mengarahkan request ke /login.

Karena belum terdapat evidence yang menunjukkan bahwa input marker maupun payload JavaScript berhasil dipantulkan dan dieksekusi oleh browser, maka Reflected XSS belum dapat dinyatakan terkonfirmasi berdasarkan pengujian yang telah dilakukan.

Kesimpulan tersebut penting agar laporan pentest tetap sesuai dengan evidence dan tidak memasukkan klaim yang belum berhasil dibuktikan.

💻 Peran Source Code sebagai Evidence Pendukung

Source code dapat membantu menjelaskan bagaimana aplikasi menerima dan memproses input dari pengguna. Namun, source code saja tidak cukup untuk menyatakan bahwa vulnerability telah berhasil dieksploitasi.

Dalam pengujian ini, pemeriksaan source code digunakan untuk mencari route pencarian dan penggunaan parameter q. Evidence tersebut kemudian dibandingkan dengan response HTTP yang diperoleh selama pengujian.

Parameter q
↓
Route pencarian
↓
Pemrosesan request
↓
Response aplikasi
↓
Pemeriksaan hasil

Dengan alur tersebut, hasil assessment dapat ditelusuri dari request sampai response dan tidak hanya bergantung pada asumsi.

📊 Risiko Reflected XSS

Reflected XSS dapat menjadi masalah keamanan ketika input pengguna diproses oleh aplikasi tanpa mekanisme output encoding atau escaping yang sesuai.

Apabila pada kondisi tertentu input dapat dieksekusi sebagai JavaScript pada origin aplikasi, dampaknya dapat mencakup perubahan tampilan halaman atau tindakan lain dalam konteks browser pengguna.

Namun, pada assessment ini dampak tersebut belum boleh dinyatakan sebagai hasil aktual karena eksekusi JavaScript belum berhasil dibuktikan.

🛡️ Cara Mencegah Reflected XSS

Pencegahan Reflected XSS dapat dilakukan dengan memastikan input dari pengguna tidak langsung diperlakukan sebagai HTML atau JavaScript.

1. Gunakan Output Encoding

Data yang berasal dari pengguna perlu di-encode sebelum ditampilkan kembali pada halaman.

2. Gunakan Escaping pada Template

Template engine sebaiknya menggunakan mekanisme escaping ketika merender data dari pengguna agar karakter tertentu tidak diperlakukan sebagai kode HTML atau JavaScript.

3. Validasi Input

Parameter pencarian dapat divalidasi sesuai kebutuhan fitur sehingga input yang tidak sesuai dapat ditangani dengan aman.

4. Terapkan Content Security Policy

Content Security Policy atau CSP dapat digunakan sebagai lapisan keamanan tambahan untuk membatasi sumber script yang dapat dijalankan oleh halaman web.

5. Perhatikan Konfigurasi Session Cookie

Cookie session juga perlu dikonfigurasi dengan atribut keamanan yang sesuai, seperti HttpOnly, Secure, dan SameSite sesuai kebutuhan aplikasi.

📝 Dokumentasi Evidence

Setiap hasil pengujian sebaiknya disimpan dalam bentuk screenshot dan catatan teknis agar proses assessment dapat ditelusuri kembali.

evidence/
├── 01-port-3000.png
├── 02-search-redirect.png
├── 03-search-source-code.png
├── 04-search-parameter.png
└── 05-search-marker.png

Kelima evidence tersebut mewakili tahapan pemeriksaan layanan, endpoint, source code, parameter pencarian, dan pengiriman marker melalui request HTTP.

💡 Hal yang Bisa Dipelajari dari Pengujian

Pengujian keamanan pada fitur pencarian menunjukkan bahwa sebuah fitur sederhana tetap perlu diperiksa dari sisi input dan output. Parameter yang diterima oleh server perlu dipahami sebelum dilakukan pengujian lanjutan.

Pengujian secara bertahap juga membantu menghasilkan evidence yang lebih terstruktur. Pemeriksaan dimulai dari layanan yang aktif, dilanjutkan dengan endpoint, source code, parameter, kemudian request dengan marker.

Pendekatan tersebut membantu membedakan antara indikasi awal dan vulnerability yang benar-benar terkonfirmasi.

🔐 Ringkasan Pengujian

  • Aplikasi: LabKeu
  • Fitur: Pencarian
  • Endpoint: /search
  • Parameter: q
  • Marker: DEVINA-PENTEST-3009
  • Metode: Pemeriksaan layanan, endpoint, source code, dan request HTTP
  • Evidence: Screenshot terminal dan response HTTP
  • Status Reflected XSS: Belum terkonfirmasi

✅ Kesimpulan

Reflected XSS merupakan salah satu kerentanan aplikasi web yang berkaitan dengan cara aplikasi menangani dan menampilkan kembali input pengguna.

Pada aplikasi LabKeu, pengujian difokuskan pada fitur pencarian dengan endpoint /search dan parameter q. Pemeriksaan dilakukan mulai dari memastikan layanan pada port 3000 aktif, memeriksa response endpoint, mencari route pencarian pada source code, memeriksa penggunaan parameter q, hingga mengirim marker melalui request HTTP.

Hasil pengujian menunjukkan bahwa endpoint /search merespons dengan redirect ke /login ketika diakses tanpa autentikasi. Oleh karena itu, berdasarkan evidence yang tersedia, Reflected XSS belum dapat dinyatakan sebagai vulnerability yang terkonfirmasi.

Dokumentasi pentest yang baik harus selalu mengikuti hasil evidence yang diperoleh selama assessment. Dengan demikian, setiap kesimpulan yang ditulis dalam laporan dapat dipertanggungjawabkan berdasarkan hasil pengujian yang benar-benar dilakukan.

Penulis : Devina Ghea Amanda

Mau Kuasai Reflected XSS pada Fitur Pencarian Aplikasi Web LabKeu Sampai Bisa Praktik Langsung?

Materi ini juga kami ajarkan langsung di kelas Edusoft Center, dibimbing mentor, sampai kamu bisa praktik nyata — bukan cuma baca teori.

Tanya Kursus via WhatsApp Lihat contoh project nyata dari siswa kami →

Tags: cybersecurityEndpointEvidenceFitur PencarianMarkerParametet qpentestReflected XSSSource CodeWeb LabKeu
Previous Post
Next Post

Post comment

Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Cara Membuat Fitur Show/Hide Password pada Form Login React
  • Menguji Information Disclosure pada Aplikasi Web: Studi Kasus LabKeu
  • Reflected XSS pada Fitur Pencarian Aplikasi Web LabKeu
  • SQL Injection Aplikasi Web: Login vs Login-noportal
  • Insecure File Upload: Kenapa File .php Tidak Berhasil di Stack Node.js

Arsip

  • October 2026
  • September 2026
  • August 2026
  • July 2026
  • June 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • September 2025
  • August 2025
  • July 2025
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • December 2011
  • November 2011

Tags

apache web server dns server kursus android kursus database kursus dns dan web server kursus dns server kursus ethical hacking kursus hacking kursus jaringan kursus jaringan linux Kursus Komputer kursus komputer di solo kursus komputer di solo / surakarta kursus komputer di surakarta kursus linux Kursus Linux Forensics kursus linux networking kursus linux security kursus linux server kursus mikrotik kursus networking kursus network security kursus php Kursus PHP dan MySQL kursus php mysql kursus proxy kursus security kursus ubuntu kursus ubuntu server kursus web kursus web security kursus web server kursus wordpress kursus wordpress theme linux MySQL pelatihan komputer di solo PHP python security training komputer training komputer di solo tutorial php ubuntu wordpress

© Edusoft Center - Kursus Komputer di Solo | 2010 - 2026 | Privacy Policy | Site Map | Portfolio Magang | Butuh tim kami langsung yang mengerjakan? Lihat layanan implementasi →

All Right Reserved

WhatsApp us