Masalah
Saat ini beberapa field di Blade template (artikel/isi dsb) di-render dengan {!! !!} tanpa sanitasi solid, sehingga attacker bisa memasukkan script via konten dan mengakibatkan XSS.
Dampak
- Attacker dapat menjalankan script di browser user/admin
- Risiko session hijacking, cookie theft, sabotase tampilan
Langkah Penyelesaian
- Ganti semua output
{!! $var !!} tanpa validasi menjadi {{ $var }} atau gunakan purifier/sanitizer HTML secara default
- Integrasikan paket
mews/purifier pada setiap input HTML yang lolos ke output
- Update & harden Content Security Policy (CSP)
- Tambahkan test case untuk XSS payload pada setiap field dynamic
Contoh Implementasi
// Setelah request masuk
$content = Purifier::clean($request->isi);
// Blade
template: {{ $content }}
Setelah Perbaikan
- Tes masukkan script klasik XSS (
<script>alert(1)</script>) ke seluruh field dinamis.
- Pastikan tidak ada script aktif di output UI.
Masalah
Saat ini beberapa field di Blade template (artikel/isi dsb) di-render dengan
{!! !!}tanpa sanitasi solid, sehingga attacker bisa memasukkan script via konten dan mengakibatkan XSS.Dampak
Langkah Penyelesaian
{!! $var !!}tanpa validasi menjadi{{ $var }}atau gunakan purifier/sanitizer HTML secara defaultmews/purifierpada setiap input HTML yang lolos ke outputContoh Implementasi
Setelah Perbaikan
<script>alert(1)</script>) ke seluruh field dinamis.