Apakah XSS Itu Berbahaya ?

Dari hasil menyimak di beberapa group IT yang saya ikuti banyak sekali yang bertanya-tanya, Apakah XSS itu berbahaya?, Cara upload webshell lewat XSS itu gimana ya gan?, Laporan Bug XSS-ku kok engga ditanggepi sih? Apa karena XSS itu gak berbahaya ya?, Apa karena admin webnya udah anu ?, Ya kurang lebih begitulah pertanyaan yang mencuat, Mari kita bahas bareng-bareng gimana sih karakteristik XSS itu,

Cross-site scripting is a type of computer security vulnerability typically found in web applications. XSS enables attackers to inject client side scripts into web pages viewed by other users. A cross-site scripting vulnerability may be used by attackers to bypass access controls such as the same-origin policy. –Wikipedia–

Dalam bahasa indonesianya kurang lebih jadi gini, pada celah keamanan XSS penyerang dapat memasukan atau menginputkan tag html yang dirender oleh client (web browser), nah pada tag html ini ada bahasa yang bisa dijalankan yaitu javascript (tag <script>), jadi kebanyakan payload untuk XSS adalah bahasa javascript (check -> www.xss-payloads.com), jika tidak bisa menjalankan javascript namun html tag tetap berhasil dirender maka bug termasuk ke dalam HTML Injection

Lalu Apakah XSS itu berbahaya?, Jawabannya adalah Tergantung, iya kek perasaanku :( jika XSS tersebut hanyalah sebuah self-XSS yang maksudnya adalah XSS tersebut hanya valid terhadap user kita sendiri dan tidak mempunyai impact ke user lain, maka bisa dibilang XSS tersebut tidak valid, Nah jika XSS tersebut reflected atau stored apalagi bisa sampai untuk steal cookie maka XSS tersebut cukup berbahaya, kenapa?

Jika reflected pada parameter get (contoh pada fitur search yang menggunakan method get -> web.com/?cari=<script>alert(1337)</script>, maka dalam hal ini bisa digunakan sebagai scam, contoh: kita alurkan seperti ini penyerang membuat payload javascript untuk mendirect ke web yang telah dibuat sedimikian serupa untuk melakukan scamming, atau membuat form palsu yang mengoverlay halaman asli dan mengirimkan input data dari form palsu tadi ke server penyerang, kurang lebih seperti itu atau sedikit social engineering -> https://github.com/laztname/xss

Jika stored maka payload XSS kita yang sekrip sekrip itu tadi bakal disimpan pada database, lalu jika pada page lain website menampilkan data payload tadi maka XSS tersebut akan berjalan dengan asumsi website rentan terhadap XSS, oleh karena itu dampak buruk untuk Stored XSS ini adalah penyerang dapat mencuri cookie user lain, nah karena penyerang dapet cookies maka si penyerang ini dapat melakukan cookie poisoning, yang berdampak penyerang dapat masuk sebagai user lain tanpa harus mengetahui username atau password tersebut

Bisa ngga upload webshell melalui XSS? bisa!, namun alurnya begini, contoh penyerang menemukan celah XSS pada fitur kontak-admin, penyerang mengirimkan payload XSS untuk mencuri kue kering admin, mengirimkan cookies ke server penyerang, dan melakukan cookie poisoning, berhasil masuk sebagai admin, nah tinggal recon aja mungkin nemu fitur upload file yang tidak terfilter dengan baik

Lalu kenapa kok Bug XSS jarang ditanggepi? karena kamu kurang ganteng mungkin sih laporan yang kamu buat belum bisa memberikan gambaran ke admin/developer bagaimana berbahayanya XSS itu, kalo bisa dalam laporan vulnerability itu di beri cara untuk mereprocodure, dampak (ini yang sangat penting), lalu rekomendasi yang harus dilakukan, banyak kok writeup laporan vulnerability yang mungkin bisa kamu gunakan sebagai referensi

Mungkin ini saja sih tanggapan dari seorang yang mengandalkan keberuntungan ini, jika ada salah kata atau apalah, mohon dikoreksi, kita sama-sama belajar kok ;) ccciiieeeeee

yes there in no image for this article
untuk pencegahan dari serangan XSS ini bisa dilihat di sini