Cara mengelabui pertahanan untuk melakukan serangan SQL dengan JSON

(Untuk Alessandro Rugolo)
05/04/24

Seperti yang telah kita lihat sebelumnya, SQLi masih menakutkan meskipun usianya sudah tua. Jika ada yang melewatkan informasi dasar tentang SQLi, saya sarankan untuk melihat artikel pertama: Serangan injeksi SQL: apa itu?

Tentu saja, industri keamanan telah mengembangkan alat untuk memerangi SQLi, ini adalah aplikasi yang mampu memfilter permintaan web dan menentukan dengan perkiraan yang baik apakah permintaan tersebut sah atau upaya serangan.

Tentu saja, para peretas juga tidak membiarkan diri mereka berkecil hati dan menemukan serangkaian trik untuk "melewati" pertahanan, di antaranya serangan yang disebut JSON - pintasan SQL.

Mari kita coba memahami apa itu, tetapi pertama-tama, beberapa kata tentang JSON.

JSON adalah format pertukaran data berdasarkan subset dari bahasa pemrograman JavaScript, sebenarnya singkatan dari JavaScript Object Notation.

Seiring waktu JSON telah menjadi format yang paling banyak digunakan dalam pertukaran data dan database telah menyertakan dukungan JSON dalam SQL. Hal serupa tidak terjadi pada banyak alat keamanan yang akibatnya tidak mampu mengidentifikasi upaya serangan SQLi yang dilakukan dengan teknik ini. 

Misalnya, jika kami mempertimbangkan aplikasi web yang dilindungi oleh WAF dan kami mencoba melakukan serangan SQLi untuk mencoba mengambil data yang tidak dapat kami akses, kontrol WAF umumnya dapat mengidentifikasi permintaan yang tidak tepat dan memblokir upaya tersebut. serangan. Namun, jika serangan dicoba menggunakan string dalam format JSON, WAF tertipu karena tidak dapat memahami bahwa string tersebut berisi perintah SQL sementara database mampu menafsirkan perintah dengan benar karena mendukung sintaks JSON.

Hasilnya adalah produsen utama WAF (Palo Alto Networks, Amazon Web Services, Cloudflare, F5, dan Imperva) harus mengambil tindakan pada tahun 2022 dengan memasukkan aturan untuk menjamin kontrol sintaksis JSON.

Tim peneliti CLAROTY TEAM82 menemukan jenis serangan baru ini.

Sekarang, mengingat ini adalah serangan yang cukup baru, saya menyarankan agar semua orang yang menggunakan WAF untuk melindungi layanan WEB mereka melakukan tes khusus untuk memeriksa apakah mereka dilindungi oleh JSON SQL Bypass.

Akan ada banyak orang yang berpikir bahwa tidak perlu khawatir karena ini adalah serangan yang sangat kompleks untuk dilakukan: Saya menyarankan yang terakhir untuk memperhatikan karena SQLMap memungkinkan Anda untuk secara otomatis mencari situs yang rentan terhadap serangan JSON SQL Bypass. 

SQLMap, alat sumber terbuka yang mudah digunakan... Tidak, itu cerita lain!

Untuk memperdalam:

- https://www.picussecurity.com/resource/blog/waf-bypass-using-json-based-...

- https://www.json.org/json-it.html

- https://claroty.com/team82/research/js-on-security-off-abusing-json-base...