El injection(Expression Language Injection)

 

Apa itu Expression language : expression language adalah bahasa pemrograman bertujuan khusus untuk dengan mudah mengakses data aplikasi yang tersimpan di Java Beans components,system objects,managing application,devices and services. Mereka digunakan untuk embedding ekspresi seperti aritmatika dan ekspresi logis dalam halaman web.

Admin menggunakannya untuk melakukan tugas-tugas seperti membaca data, menulis data, dll

Siapa yang menemukan El Injection ? Sir Stefano Di Paola, adalah orang yang menemukan kerentanan yang menarik ini pada tahun 2011.

Jadi, sekarang Anda mungkin sudah menebak apa yang dapat dilakukan dengan injeksi EL. Aplikasi ditargetkan memutuskan lingkup kerentanan.

Memanfaatkan kerentanan yang dapat memberikan hasil dengan XSS, RCE dan juga dapat mengambil data dari database! Kerentanan terjadi ketika sebuah aplikasi web adalah menjalankan versi lama dari clearspace yang sekarang dikenal sebagai Jive Software.

Clearspace adalah alat manajemen pengetahuan dan terintegrasi dengan Spring Framework.

Clearspace rentan terhadap bug ini karena pola EL digunakan dalam JSP Tag.

Bagaimana cara penyerangannya ? contohnya seperti ini

kita kirim dengan get unauth dan kita isi proses aritmatika 100 x 3 *https://target-site/login!input.jspa?unauth=${1003}*. dan nanti pada source nya akan muncul hasil dari 1003

s652sx

 

dan kita coba dengan query yang lain  https://target-site/login!input.jspa?unauth=${99999+1}

oye

dari hasil seperti ini mungkin bisa di explore sampai bisa maitening access atau sebagainya

bagaimana cara patching ?

yang harus di lakukan adalah update

Official Paper: http://www.mindedsecurity.com/fileshare/ExpressionLanguageInjection.pdf

Read More: https://www.owasp.org/index.php/Expression_Language_Injection

Sources : https://evilzone.org/tutorials/el-injection