Skip to content

[SECURITY] Sanitasi Konten HTML dan Fix XSS pada Field Dynamic di Template/Output #962

@vickyrolanda

Description

@vickyrolanda

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

  1. Ganti semua output {!! $var !!} tanpa validasi menjadi {{ $var }} atau gunakan purifier/sanitizer HTML secara default
  2. Integrasikan paket mews/purifier pada setiap input HTML yang lolos ke output
  3. Update & harden Content Security Policy (CSP)
  4. 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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions