Loading Article...

Rizky Tempest Blog

Exploring Cyber Security, Networking, Programming & Technology

(Stored XSS) SID Berdaya & SID 3.10 CMS

Analisis mendalam kerentanan Stored Cross-Site Scripting pada Sistem Informasi Desa (SID) Berdaya dan SID 3.10 CMS.

Pengenalan SID Berdaya & SID 3.10

Website desa atau Sistem Informasi Desa (SID) adalah salah satu elemen penting dalam mendukung transparansi dan akuntabilitas pemerintah desa dalam semua kegiatan dan pengelolaan alokasi dana desa.

Namun CMS ini memiliki banyak kerentanan, seperti adanya default password, Remote File Manipulation (RFM), Reflected XSS (RXSS) ataupun Stored XSS (SXSS).

Postingan kali ini akan membahas tentang salah satu kerentanan yang terdapat pada SID Berdaya ataupun SID 3.10.

Info: Stored XSS adalah jenis kerentanan dimana payload malicious disimpan di server dan dieksekusi setiap kali halaman diakses.

Stored Cross-Site Scripting in SID Berdaya & SID 3.10

Dork Pencarian:

  • "SID Berdaya Login"
  • "SID 3.10 Login"
  • "Sistem Informasi Desa"

Path yang Vulnerable:

Perhatian: Path berikut mengandung kerentanan Stored XSS
/line
/area
/polygon
/garis
/point

Cara menemukan: Gunakan tools seperti dirb, gobuster, atau dirsearch untuk enumerasi directory.

Contoh Target:

target.com/line
target.com/index.php/line
example-desa.go.id/area

Proof of Concept (PoC)

Langkah 1: Akses Halaman Vulnerable

Klik "Tambah data baru" pada halaman yang vulnerable.

Step 1 - Access vulnerable page

Gambar 1: Akses halaman vulnerable melalui menu "Tambah data baru"

Langkah 2: Input Payload XSS

Isi kolom input dengan payload XSS berikut:

<script>alert('hai')</script>
<img src=x onerror=alert('XSS')>
<svg onload=alert('XSS')>
Step 2 - Input XSS payload

Gambar 2: Input payload XSS pada kolom yang vulnerable

Langkah 3: Simpan dan Verifikasi

Setelah menyimpan data, reload halaman atau akses kembali untuk melihat eksekusi payload.

Step 3 - XSS executed

Gambar 3: Payload XSS berhasil dieksekusi

Impact & Risk Assessment

Risk Level Impact Keterangan
High Session Hijacking Penyerang dapat mencuri session cookies
High Defacement Mengubah tampilan website
Medium Phishing Menampilkan form login palsu
Low Annoyance Alert box mengganggu pengguna

Mitigation & Recommendations

Solusi: Implementasi input validation dan output encoding

PHP Solution:

// Input Validation
$clean_input = filter_var($_POST['input'], FILTER_SANITIZE_STRING);

// Output Encoding
echo htmlspecialchars($data, ENT_QUOTES, 'UTF-8');

JavaScript Solution:

// DOM-based XSS Prevention
function safeHTML(str) {
    const div = document.createElement('div');
    div.textContent = str;
    return div.innerHTML;
}

Responsible Disclosure

Kerentanan ini telah dilaporkan kepada pihak terkait melalui program bug bounty atau channel responsible disclosure yang tersedia.

Etika Hacking: Selalu ikuti prinsip responsible disclosure dan patuhi hukum yang berlaku.

Terimakasih kepada kalian semua yang telah membaca.

#MakeThemAware - Tingkatkan awareness tentang keamanan siber!