Cara Menggunakan SQL Injection 2024
Senin, 28 Oktober 2024
Cara Menggunakan SQL Injection - SQL, singkatan dari Structured Query Language yang merupakan standar untuk mengakses dan memanipulasi database.
Biasanya SQL digunakan untuk mengelola sistem database seperti Oracle, SQL Server, maupun MySQL.
Secara umum, pemakaian SQL hampir sama disemua sistem database, namun ada detail perbedaan tertentu yang khusus untuk setiap sistem.
SQL Injection merupakan teknhik Injeksi yang digunakan untuk melakukan serangan pada aplikasi web yang berbasis data, dimana penyetaan malicious SQL dimasukkan kedalam entri untuk dieksukusi.
SQL dapat mengeksploitasi kerentanan keamanan diperangkat lunak aplikasi, seperti saat ketikan user salah melakukan filter untuk pengiriman karakter.
Yang disematkan dalam penyataan SQL atau Inputan user tidak ditulis dengan benar tanpa diduga di eksekusi.
Untuk informasi yang lebih lengkap, silahkan simak ulasan cara menggunakan SQL Injection yang akan kami uraikan dibawah ini.
Berfungsi sebagai tekhnik yang menyalahgunakan celah keamanan yang ada disetiap lapisan basis data sebuah aplikasi.
Celah ini terjadi saat input dari pengguna tidak disaring secara benar, misalnya seperti kolom Username yang seharusnya hanya diisi dengan huruf atau angka namun diisi dengan karakter seperti : _=').
Karena hal itu, penyerangan melalui celah tersebut dilakukan dengan memasukkan Query dari SQL.
SQL selalu menjadi tekhnik penyerangan terfavorit sebagian hacker dari tahun ke tahun.
Selain itu juga dengan semakin sulitnya hacker melakukan serangan via jaringan yang sebabkan oleh kecanggihan perangkat pertahanan dari target.
Misalnya seperti Firewall, UTM, IDS, dan lain-lain, SQL Injection ini sangat mudah dilakukan karena banyak website programmer yang kurang 'Aware" terhadapnya.
Mengetahui Tipe serangan dari SQL Injection adalah langkah awal dari cara menggunakan SQL Injection yang harus diketahui.
Satu dari sekian banyaknya pengguna SQL Injection yang meleibatkan ByPass disebuah proses autnetikasi Login aplikasi.
Umumnya, form Login Username dan Password disini mempunyai konstruksi SQL Query sebagai berikut:
Otentikasi yang dilakukan attacker:
Input yang masuk ke database seharusnya berisikan Usernama (Ronaldo) dan Password (Butterfly) input yang dimasukkan Attacker adalah "Qwert" pada form Email tidaklah penting.
Karena setelah itu terdapat tanda “or 1=1 — “ yang artinya setiap input akan selalu dianggap true.
Kenapa? Karena 1=1 mengartikan true dan or adalah kondisi dimana salah satu atau lebih dari 2 atau lebih input true maka otentikasi dianggap true oleh sistem.
Dengan begitu form password dapat diisi sesuka hati karena dibelakang tanda “– “ tersebut dianggap sebagai syntax comment pada SQL.
Berikut contoh source code yang mempunyai celah terkena SQL Injection, dibagian request.get Parameter data yang diterima SQL query akan dikirim langsung dari HTTP request tanpa validasi dari data tersebut.
Jumlah minimal atau maximal karakter dari jenis karakter yang diizinkan atau karakter-karakter berbahaya.
Kesalahan ini dapat menimbulkan celah untuk menjadikan SQL sebagai payload dan mengubah fungsi statement yang sudah ada.
Sebagai web programmer anda harus mempelajari cara untuk melakukan secure programming, tak hanya pada web programming namun juga diberbagai bahasa programming.
Informasi yang kami bagikan ini bersifat pengetahun yang dapat menambah wawasan anda seputar cara penggunaan SQL Injection dengan mudah.
Jika ingin berhasil, pastikan untuk mengikuti langkah-langkah diatas dengan hati-hati, benar dan sesuai dengan yang kami uraikan.
Itulah seluruh pembahasan kita pada artikel kali ini mengenai cara menggunakan SQL Injection. Sekian dan semoga bermanfaat.
Biasanya SQL digunakan untuk mengelola sistem database seperti Oracle, SQL Server, maupun MySQL.
Secara umum, pemakaian SQL hampir sama disemua sistem database, namun ada detail perbedaan tertentu yang khusus untuk setiap sistem.
SQL Injection merupakan teknhik Injeksi yang digunakan untuk melakukan serangan pada aplikasi web yang berbasis data, dimana penyetaan malicious SQL dimasukkan kedalam entri untuk dieksukusi.
SQL dapat mengeksploitasi kerentanan keamanan diperangkat lunak aplikasi, seperti saat ketikan user salah melakukan filter untuk pengiriman karakter.
Baca juga : Cara Save Video Filmora Tanpa Watermark
Untuk informasi yang lebih lengkap, silahkan simak ulasan cara menggunakan SQL Injection yang akan kami uraikan dibawah ini.
Cara Menggunakan SQL Injection
1. Mengenal Cara Menggunakan SQL Injection
Mengenal Cara Menggunakan SQL Injection |
Sebelum mengetahui cara menggunakan SQL Injection, perlu anda ketahui terlebih dulu apa itu SQL dan cara kerjanya.
Berfungsi sebagai tekhnik yang menyalahgunakan celah keamanan yang ada disetiap lapisan basis data sebuah aplikasi.
Celah ini terjadi saat input dari pengguna tidak disaring secara benar, misalnya seperti kolom Username yang seharusnya hanya diisi dengan huruf atau angka namun diisi dengan karakter seperti : _=').
Baca juga : Aplikasi Translate PDF Untuk PC
SQL selalu menjadi tekhnik penyerangan terfavorit sebagian hacker dari tahun ke tahun.
Selain itu juga dengan semakin sulitnya hacker melakukan serangan via jaringan yang sebabkan oleh kecanggihan perangkat pertahanan dari target.
Misalnya seperti Firewall, UTM, IDS, dan lain-lain, SQL Injection ini sangat mudah dilakukan karena banyak website programmer yang kurang 'Aware" terhadapnya.
2. Cara Menggunakan SQL Injection Dengan Mengetahui Tipe Serangan
Cara Menggunakan SQL Injection Dengan Mengetahui Tipe Serangan |
Walau efek dari SQL ini bervariasi berdasarkan aplikasi yang ditargetkan, ada beberapa tipe umum dari SQL Injection
Mengetahui Tipe serangan dari SQL Injection adalah langkah awal dari cara menggunakan SQL Injection yang harus diketahui.
a. Otentikasi ByPass
Serangan ini akan membantu anda untuk masuk kedalam aplikasi dengan hak akses administrstif dan tanpa menggunakan Username dan Password yang valid.Baca juga : 5 Aplikasi Pemutar Video PC
b. Pencurian Informasi
Serangan ini memungkinkan anda mendapatkan informasi-informasi sensitif dalam database, baik secara langsung ataupun tidak.c. Compromised Integritas Data
Penyerangan ini melibatkan perubahan isi database, dan seorang penyerang dapat menggunakan serangan ini untuk men-deface halaman website atau memasukkan konten berbahaya kedalamnya.d. Compromised Ketesediaan Data
Seragan ini memungkinkan penyerang untuk menghapus informasi dengan maksud menghapus atau merusak log ataupun audit informasi dalam database.e. Remote Command Execution:
Menggunakan perintah eksekusi via database akan memungkinkan penyerang untuk melakukan Compromised pada sistem operasi Host atau Target.Satu dari sekian banyaknya pengguna SQL Injection yang meleibatkan ByPass disebuah proses autnetikasi Login aplikasi.
Baca Juga : Cara Bypass Emulator Phoenix OS
Otentikasi biasa:
SELECT count (*) FROM Users WHERE Username=’Ronaldo’ AND Password= ‘Butterfly’
Otentikasi yang dilakukan attacker:
SELECT count (*) FROM Users WHERE Username=’qwert’ or 1=1 -- ’ AND Password= ‘zxcvb’
Input yang masuk ke database seharusnya berisikan Usernama (Ronaldo) dan Password (Butterfly) input yang dimasukkan Attacker adalah "Qwert" pada form Email tidaklah penting.
Karena setelah itu terdapat tanda “or 1=1 — “ yang artinya setiap input akan selalu dianggap true.
Kenapa? Karena 1=1 mengartikan true dan or adalah kondisi dimana salah satu atau lebih dari 2 atau lebih input true maka otentikasi dianggap true oleh sistem.
Dengan begitu form password dapat diisi sesuka hati karena dibelakang tanda “– “ tersebut dianggap sebagai syntax comment pada SQL.
Berikut contoh source code yang mempunyai celah terkena SQL Injection, dibagian request.get Parameter data yang diterima SQL query akan dikirim langsung dari HTTP request tanpa validasi dari data tersebut.
Baca juga : Free VPN For PC
Kesalahan ini dapat menimbulkan celah untuk menjadikan SQL sebagai payload dan mengubah fungsi statement yang sudah ada.
String DRIVER = “com.ora.jdbc.Driver”;String DataURL = “jdbc:db://localhost:5112/users”;String LOGIN = “admin”;String PASSWORD = “admin123”;Class.forName(DRIVER);//Make connection to DBConnection connection = DriverManager.getConnection(DataURL, LOGIN, PASSWORD);String Username = request.getParameter(“USER”); // From HTTP requestString Password = request.getParameter(“PASSWORD”); // From HTTP requestint iUserID = -1;String sLoggedUser = “”;String sel = “SELECT User_id, Username FROM USERS WHERE Username = ‘” +Username + “‘ AND Password = ‘” + Password + “‘”;Statement selectStatement = connection.createStatement ();ResultSet resultSet = selectStatement.executeQuery(sel);if (resultSet.next()) {iUserID = resultSet.getInt(1);sLoggedUser = resultSet.getString(2);}PrintWriter writer = response.getWriter ();if (iUserID >= 0) {writer.println (“User logged in: ” + sLoggedUser);} else {writer.println (“Access Denied!”)
Meski terdapat sejumlah Tools serangan yang digunakan untuk serangan SQL, namun anda tetap harus mempelajarinya.
Baca juga : 15 Antivirus PC Terbaik
Akhir Kata
Bagi anda yang masih bingung dengan cara kerja dari SQL Injection, silahkan simak informasinya dalam ulasan diatas.Informasi yang kami bagikan ini bersifat pengetahun yang dapat menambah wawasan anda seputar cara penggunaan SQL Injection dengan mudah.
Jika ingin berhasil, pastikan untuk mengikuti langkah-langkah diatas dengan hati-hati, benar dan sesuai dengan yang kami uraikan.
Itulah seluruh pembahasan kita pada artikel kali ini mengenai cara menggunakan SQL Injection. Sekian dan semoga bermanfaat.