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

Relationships

None yet

Development

No branches or pull requests

Issue actions