Memanfaatkan kerentanan XML injection pada sebuah website

MDbird
3 min readMay 10, 2020

Serangan XML External Entity (XXE) adalah jenis serangan terhadap aplikasi yang mem-parsing input XML. Serangan ini terjadi ketika input XML yang berisi referensi ke entitas eksternal diproses oleh parser XML yang dikonfigurasi dengan lemah. Serangan dapat mencakup pengungkapan file lokal, yang mungkin berisi data sensitif seperti kata sandi atau data pengguna pribadi.

Dalam kasus ini kami mencoba mencari kerentanan XXE pada sebuah website dan kami mengunakan target nya mesin yang berada wizardlabs “Dark”( 10.1.1.30 ) dari Analisa pada halaman web ada menu create account.

Dari hasil scanning mengunakan tools dirb kami menemukan directory “backup” yang berisi /home/lord/password_backup.txt.

Selanjutnya kami melakukan registrasi user dan melihat repson melalui burp suite. Jika di perhatikan aplikasi mengunakan XML sebagai parameter, dan kemungkinan rentan serangan XXE

Kami mencoba mengexploitasi kerentanan XXE untuk melihat file “passwd” dalam directory file:///etc/passwd.

Berdasarkan hasil di atas menunjukkan bahwa kami dapat mengakses file ” /etc /passwd” dari server. Ini jelas menunjukkan serangan yang berhasil dan juga menyebutkan ada beberapa user.

Kami mencoba melihat file password_backup.txt berdasar hasil dari dirb.

Dari file tersebut kami kredensial milik user “lord” dengan password “sunnysunshine!5”. kemudian kami mencoba untuk login kedalam mesin mengunakan service ssh dan berhasil.

Rekomendasi:

1. Konfigurasikan XML processor untuk menggunakan DTD statis yang telah di deklarasikan sebelum nya.
2. Tolak semua deklarasi DTD yang di-include di dalam dokumen / inputan XML.
3. Jika external entity tidak dipakai dalam aplikasi maka disable fungsi ini sepenuhnya. Untuk men-disable fungsi ini deklarasikan ulang fungsi XmlResolver dan assign null.
4. Proses sanitasi harus dilakukan untuk semua input pengguna.
5. Lakukan validasi pada fungsi upload file / inputan XML.
6. Gunakan format data yang lebih sederhana seperti JSON.

Saya ucapkan banyak terima kasih yang sudah membaca artikel ini dan semoga bermanfaat.

--

--