Rabu, 13 Mei 2020


Apa itu SQLMap

SQLMap adalah salah satu tool otomatis untuk melakukan SQL Injection yang paling populer dan hebat. Dengan url http request yang rentan, sqlmap dapat mengeksploitasi remote database dan melakukan hacking seperti mengekstrak nama database, tabel, kolom, semua data dalam tabel, dll. Bahkan dapat membaca dan menulis file pada remote sistem file pada kondisi tertentu. Ditulis dalam bahasa python dan merupakan salah satu alat hacking yang paling hebat. SQLMap adalah SQL Injection metasploit.

SQLMap disertakan dalam beberapa distro linux pen testing seperti kali linux, backtrack, backbox dll. Pada distro lain bisa diunduh dari url berikut ini. http://sqlmap.org

Karena ditulis dalam bahasa python, maka anda harus menginstal python di sistem anda terlebih dahulu. Di ubuntu install python dari synaptic. Pada windows install activestate python. Silahkan cek posting dengan judul Installasi dan menjalankan SQLMap di Windows untuk rincian tentang cara menginstal dan menjalankan sqlmap di windows.

Fitur-Fitur SQLMap

  • Dukungan penuh untuk sistem manajemen basis data MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase dan SAP MaxDB.
  • Dukungan penuh untuk enam teknik SQL Injection: boolean-based blind, time-based blind, error-based, UNION query, stacked queries and out-of-band.
  • Dukungan untuk langsung terhubung ke database tanpa melalui SQL Injection, dengan menyediakan kredensial DBMS, alamat IP, port dan nama database.
  • Dukungan untuk menghitung pengguna, hash kata sandi, privileges, roles, database, tabel dan kolom.
  • Pengenalan otomatis format hash password dan dukungan untuk cracking menggunakan serangan berbasis kamus.
  • Dukungan untuk membuang tabel database seluruhnya, kisaran entri atau kolom spesifik sesuai pilihan pengguna. Pengguna juga dapat memilih untuk membuang hanya sejumlah karakter dari entri masing-masing kolom.
  • Dukungan untuk mencari nama database tertentu, tabel spesifik di semua database atau kolom spesifik di semua tabel database. Ini berguna, misalnya, untuk mengidentifikasi tabel yang berisi kredensial aplikasi kustom di mana nama kolom yang relevan mengandung string seperti nama dan password.
  • Dukungan untuk mendownload dan mengunggah file apapun dari database server yang mendasari sistem file pada perangkat lunak database MySQL, PostgreSQL atau Microsoft SQL Server.
  • Dukungan untuk mengeksekusi perintah acak dan mengambil output standar mereka pada database server yang mendasari sistem operasi saat perangkat lunak database adalah MySQL, PostgreSQL atau Microsoft SQL Server.
  • Dukungan untuk membangun koneksi TCP stateful out-of-band antara mesin penyerang dan server basis data yang mendasari sistem operasi. Saluran ini bisa menjadi prompt perintah interaktif, sesi Meterpreter atau sesi antarmuka pengguna grafis (VNC) sesuai pilihan pengguna.
  • Dukungan untuk proses database 'esensi hak istimewa pengguna melalui perintah Metasploit's Meterpreter getsystem.

Untuk daftar pilihan dan parameter yang bisa digunakan dengan perintah sqlmap, silahkan periksa dokumentasi sqlmap di sini  https://github.com/sqlmapproject/sqlmap/wiki/Usage

Pada tutorial ini kita akan belajar bagaimana menggunakan sqlmap untuk exploit aplikasi web yang rentan dan melihat apa yang bisa dilakukan dengan SQLMap.

Untuk memahami tutorial SQL Injection ini Anda harus memiliki pengetahuan menyeluruh tentang bagaimana aplikasi web berbasis database bekerja. Misalnya aplikasi web yang dibuat dengan PHP + MySQL.

Vulnerable Url

Misalkan ada sebuah aplikasi website memiliki URL sebagai berikut:

http://www.website.com/index.php?id=51

URLini rentan terhadap serangan SQL Injection karena pengembang situs tersebut tidak benar-benar mengamankan parameter id. Hal ini bisa saja diuji coba dengan mencoba membuka url tersebut

http://www.website.com/index.php?id=51'

Kita hanya menambahkan satu kutipan pada parameter id. Jika url ini melempar kesalahan atau bereaksi dengan cara yang tidak normal maka jelas bahwa database telah mendapat kutipan tunggal yang tak terduga sehingga aplikasinya tidak mampu mengamankannya dengan benar. Jadi dalam hal ini parameter input "id" ini rentan terhadap sql injection.

Hacking menggunakan SQLMap

Sekarang waktunya untuk menggunakan sqlmap untuk melakukan hacking atau sql injection pada url tersebut. Perintah sqlmap dijalankan dari terminal dengan penerjemah python.


$ python sqlmap.py -u "http://www.website.com/section.php?id=51"
Perintah di atas adalah yang pertama dan paling sederhana untuk dijalankan dengan tool SQLMap. Perintah tersebut memeriksa parameter masukan untuk mengetahui apakah mereka rentan terhadap sql injection atau tidak. Dalam hal ini sqlmap mengirimkan berbagai jenis muatan sql injection ke parameter masukan dan memeriksa hasilnya. Dalam proses ini sqlmap juga mampu mengidentifikasi sistem remote os, nama database dan versinya.

SQLMap telah menemukan sistem operasi, server web dan database beserta informasi versi. Bahkan ini pun cukup mengesankan. Tapi waktunya untuk eksplorasi dan melihat apa lagi yang mampu dilakukan oleh alat ini.

Temukan Database

Setelah sqlmap mengkonfirmasikan bahwa remote url rentan terhadap sql injection dan dapat dieksploitasi, langkah selanjutnya adalah mengetahui nama-nama basis data yang ada pada sistem remote tersebut. Pilihan "--dbs" digunakan untuk mendapatkan daftar database.


$ python sqlmap.py -u "http://www.website.com/section.php?id=51" --dbs
Outputnya menunjukkan database yang ada pada sistem remote.

Temukan tabel di database tertentu

Sekarang waktunya untuk mencari tahu tabel apa yang ada di database tertentu.

Katakanlah database yang diminati di sini adalah 'db_toko'



$ python sqlmap.py -u "http://www.website.com/section.php?id=51" --tables -D db_toko

Selanjutnya mari kita dapatkan kolom tabelnya.

Dapatkan kolom sebuah table

Sekarang kita memiliki daftar tabel databasenya, selanjutnya kita akan mencari kolom dari beberapa tabelnya. Katakanlah tabelnya adalah 'admin' dan berisi username dan password.



$ python sqlmap.py -u "http://www.website.com/section.php?id=51" --columns -D db_toko -T admin

Jadi sekarang kolomnya terlihat jelas. Kerja yang bagus!

Dapatkan data dari tabel

Sekarang adalah bagian yang paling menarik, yaitu mengekstrak/mengambil data dari tabel. Perintahnya adalah....



$ python sqlmap.py -u "http://www.website.com/section.php?id=51" --dump -D db_toko -T admin

Perintah di atas akan mengeluarkan data dari tabel tertentu, sangat mirip dengan perintah mysqldump.

oke mungkin cukup sampai disini dulu terimakasih semoga bermanfaat....


0 komentar:

Posting Komentar

Categories

Ewokz Sudrazat

Contact Us

Nama

Email *

Pesan *

Cari Blog Ini

SAGALA CARA

SAGALA CARA
Channel Youtube

Ewokztutor.blogspot.com

Blog ini sengaja di buat untuk saling berbagi ilmu dan apa bili ada kesalahan mohon maaf karena saya juga manusia yang tidak luput dari kesalahan