Muhammad Fauzan
Apa itu SQL Injection? merupakan teknik serangan keamanan pada basis data yang dilakukan dengan menyisipkan atau memanipulasi perintah SQL melalui input yangdimasukkan ke dalam aplikasi. Aplikasi yang rentan terhadap SQL injection tidak memvalidasi atau menyaring input dengan benar, sehingga penyerang dapat memasukkan kode SQL yang tidak diinginkan.
Apa itu SQL Injection? merupakan teknik serangan keamanan pada basis data yang dilakukan dengan menyisipkan atau memanipulasi perintah SQL melalui input yangdimasukkan ke dalam aplikasi. Aplikasi yang rentan terhadap SQL injection tidak memvalidasi atau menyaring input dengan benar, sehingga penyerang dapat memasukkan kode SQL yang tidak diinginkan.
Berikut merupakan teknik SQL Injection Automation dan bypassing WAF menggunakan sqlmap :
Pada gambar diatas saya melakukan SQL Injection Automation menggunakan tools SQLMAP. Langkah pertama yang saya lakukan yaitu mencari parameter pada web/domain https://niceso.co.id/pencariantoko.php?keyword= , lalu saya melakukan injeksi menggunakan payload :
"sqlmap -u “https://niceso.co.id/pencariantoko.php?keyword=” --random-agent -- tor -- dbs --dump --batch --tamper-space2comment --level=2 --risk=3”, pada payload di atas merupakan cara agar sqlmap dapat membaypass WAF dari pertahanan web tersebut dan men-dump secara keseluruhan. Setelah saya injek saya mendapatkan semua akses dari database web tersebut (Disclaimer! Saya telah mendapatkan izin untuk melakukan pentest web tersebut, dan dilakukan dengan prinsip ethical hacking, mohon kepada pihak bisa ai agar tidak menyebarkan dan mengexploitasi lebih lanjut!).
Berikut merupakan hasil exploitasi saya mendapatkan database pada table information_schema dan u635028509_ptnicesosukses, lalu saya mengexploitasi pada u635028509_ptnicesosukses, dan mendapatkan hasil seperti pada gambar diatas.
Pada gambar diatas terdapat isi dari database yang sangat krusial yaitu id_admin, password, username, dan nama_lengkap. Data tersebut bisa disalah gunakan untuk mendeface web tersebut, dan itu harus segera di perbaiki oleh tim teknis IT di perusahaan tersebut.
Ancaman SQL Injection dapat merugikan keamanan aplikasi web. Serangan ini terjadi ketika penyerang memanipulasi input pengguna pada formulir web atau parameter URL untuk menyisipkan perintah SQL yang tidak sah, membuka kemungkinan akses ilegal ke database dan manipulasi data. Berikut beberapa metode untuk menanggulangi serangan SQL injection:
1. Pernyataan Berparameter atau Pernyataan Siap Pakai:
Menggunakan pernyataan berparameter atau siap pakai efektif untuk mencegah SQL injection. Pada SQL, pernyataan ini memisahkan perintah SQL dari data pengguna, mencegah data diartikan sebagai perintah SQL.
2. Validasi Input:
Validasi input adalah praktik kunci. Pastikan data yang dimasukkan oleh pengguna sesuai dengan format yang diharapkan. Validasi harus dilakukan di sisi server selain dari ketergantungan pada JavaScript di sisi klien.
3. Escape Input:
Hindari risiko SQL injection dengan menghindari karakter khusus seperti tanda kutip (') dan tanda petik ganda (") pada data sebelum dimasukkan ke dalam perintah SQL.
4. Prinsip Least Privilege:
Berikan hak akses database sesuai kebutuhan, menghindari memberikan hak akses yang tidak perlu kepada aplikasi atau pengguna. Ini membantu meminimalkan dampak serangan.
5. Firewall dan Filter:
Gunakan firewall dan filter input untuk memeriksa serta memblokir permintaan yang mencurigakan. Modul Firewall Aplikasi Web (WAF) dapat mendeteksi dan mencegah serangan SQL injection.
6. Perbarui dan Pasang Patch:
Pastikan basis data, server web, dan aplikasi selalu diperbarui dengan patch keamanan terbaru untuk menanggulangi celah keamanan yang dapat dieksploitasi.
7. Pemantauan dan Pencatatan:
Pantau log aplikasi dan server untuk mendeteksi aktivitas mencurigakan atau upaya serangan. Langkah ini membantu mendeteksi dan merespons cepat terhadap ancaman.
8. Pendidikan dan Pelatihan:
Libatkan tim pengembang dan administrator sistem dalam pelatihan keamanan informasi, meningkatkan kesadaran mereka terhadap ancaman keamanan dan praktik terbaik dalam pengembangan aman.
Terapkan strategi di atas secara bersamaan untuk meningkatkan keamanan aplikasi dan melindungi terhadap serangan SQL injection. Selalu perbarui praktik keamanan seiring waktu untuk mengantisipasi perkembangan ancaman keamanan.
<script>Alert(HACKED BY MUHAMMAD FAUZAN)</script>