IND | ENG
SQL Injection, Teknik Serangan  Terpopuler dan Termudah di Kalangan Peretas

Ilustrasi | Foto: freepik.com

SQL Injection, Teknik Serangan Terpopuler dan Termudah di Kalangan Peretas
Tenri Gobel Diposting : Minggu, 02 Agustus 2020 - 10:45 WIB

Cyberthreat.id – Structure Query Language (SQL) Injection merupakan serangan yang populer di kalangan peretas (hacker).

“Ini paling gampang buat hacker,” kata Deputy Head dari Master of Information Technology, Swiss Germany University, Dr. Charles Lim saat berbincang-bincang dengan Cyberthreat.id, Rabu (29 Juli 2020).

Charles mengatakan, SQL Injection mudah dilakukan karena hanya bermodalkan coba-coba string permintaan tertentu.

“Dimulai dengan coba-coba, ibaratnya kayak kita mau masuk ke pintu orang lain. Ya, saya coba saja kuncinya, siapa tahu kuncinya cocok. Setelah dicoba, oh ternyata bisa nih, kalau bisa dia action,” ujar dia.

SQL berdasarkan namanya merupakan bahasa yang dipakai untuk melakukan query atau perintah permintaan terhadap basis data.

Misal, target serangan adalah Cyberthreat.id. Sebagai sebuah media berita, terdapat konten-konten berisi informasi teks dan gambar dan lainnya sehingga perlu basis data di belakang web server – sebuah perkakas lunak untuk menerima dan melayani permintaan yang dikirimkan pengguna via peramban (browser).

Web server inilah yang menyimpan data yang ditampilkan di sebuah halaman muka situs web dan data disimpan dengan bahasa SQL (SQL database)

“SQL itu bahasa untuk men-query data dan dibawa ke web. Nah, web itu yang nampilin data, gitu,” ujar Charles.

Basis data yang disimpan tadi menggunakan SQL server atau istilahnya bisa MySQL, SQL Server.

Sesuai dengan namanya, kata Charles, fungsi SQL awalnya hanya untuk mengakses basis data.

Seiring waktu sejak 1990-an, berkembanglah SQL Injection, yang dimanfaatkan penyerang untuk menginjeksi string (barisan karakter dalam pemrograman) permintaan ke basis data. Ini memungkinkan penyerang mendapatkan akun-akun di dalam web server dan melakukan serangan lanjutan.

“Penyerang memasukkan beberapa string untuk mendapatkan database-nya atau informasinya, gitu. Karena kita melakukan injeksi, atau kita masukkan string itu ke field web; string yang cocok baru diteruskan ke database. Dan, dapatlah datanya dikirim ke user sesuai dengan string tadi,” ujarnya.

Dua kemungkinan

Charles mengatakan, ada dua kemungkinan yang mendorong penyerang melakukan SQL Injection. (1) jika input aplikasi webnya lemah dan (2) phpMyAdmin-nya juga terbuka untuk diakses publik.

Keleman itu, menurut dia, karena pengembang web kurang memerhatikan sekuritinya. Misal, ketika penyerang mencoba-coba memasukkan sebuah injeksi string ke webnya dan berhasil, maka itu menunjukkan kelemahan keamanan.

Padahal, “Sebenarnya bisa dicegah kalau pengembang atau programmer-nya mendesain agar string permintaan yang lain [yang kemungkinan akan dicoba oleh penyerang] itu tidak bisa dieksekusi,” kata Charles.

Untuk menghindari serangan itu, kata Charles, string-string permintaan yang dapat dimanfaatkan oleh penyerang itu dideteksi sejak dini dan diatur sedemikian rupa.

“Rahasianya adalah aplikasinya harus bisa dikuatkan supaya dia tidak bisa menjalankan string-string permintaan tadi,” ujar dia.

Begitu pula dengan terbukanya halaman admin, yang bisa diakses oleh pengguna biasa. Ini juga mengundang injeksi string yang mampu menerobos login situs web.

“Kalau phpMyAdmin dibuka, artinya bisa diakses lewat web, sama saja kita bisa mengakses database-nya langsung,” kata dia.

Jika SQL Injection berhasil melalui akses admin, kata Charles, ini bisa berbahaya. Terlebih, jika admin itu mempunyai akses penuh kepada situs web. Dampaknya, bisa dari pencurian data, pengubahan data, dan sebagainya.

Charles menyarankan untuk mencegah pencurian data, perlu dilakukan pengelompokkan per basis data mana saja yang bisa diakses oleh admin masing-masing. Artinya admin tidak mempunyai akses penuh, tapi dibagi per admin. Misal, bagian  marketing hanya bisa meminta database marketing dan seterusnya sesuai divisi masing-masing.

“Sebenarnya dalam prinsip sekuriti itu diperlukan defence in-depth,” kata Charles. Ini untuk membantu mengamankan situs web secara kuat berlapis-lapis.

Untuk itu, menurutnya programmer juga perlu belajar keamanan, tidak hanya bisa membangun sebuah situs web, tetapi melupakan keamanannya.

“Sekarang kan istilahnya namanya DevSecOp, Developer Security Operation Security. Jadi, dia harus ngerti operasinya, jangan ngerti developing-nya doang. Programmer sekarang harus belajar tiga hal, developer, operasi dari infrastruktur, dan security, makanya disebut DevSecOps,” ujar Charles.[]

Redaktur: Andi Nugroho

#sqlinjection   #peretasan   #hacker   #hacking   #serangansiber   #keamanansiber   #ancamansiber   #situsweb   #devsecops

Share:




BACA JUGA
Seni Menjaga Identitas Non-Manusia
Microsoft Ungkap Aktivitas Peretas Rusia Midnight Blizzard
Indonesia Dorong Terapkan Tata Kelola AI yang Adil dan Inklusif
SiCat: Inovasi Alat Keamanan Siber Open Source untuk Perlindungan Optimal
BSSN Selenggarakan Workshop Tanggap Insiden Siber Sektor Keuangan, Perdagangan dan Pariwisata