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

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions