Nmap : Cara Mencari Celah SQL Injection pada Web

Belajar cara menggunakan SQL Injection dengan menggunakan Nmap

Assalamualaikum Warahmatullahi Wabarakatuh, Didunia Hacking, kalian pasti sering mendengar istilah SQL Injection lalu apa yang dimaksud SQL Injection?. SQL Injection merupakan suatu teknik hacking dengan memasukan kode-kode (query) pada database target yang memiliki celah untuk diinjeksi. Sehingga sang hacker bisa mendapatkan data-data penting dari web/host tersebut, contohnya username dan password admin. Dan jika hal itu terjadi, sang hacker bisa login/masuk pada web tersebut menggunakan username dan password yang ditemukannya.

Dengan menggunakan Nmap, Sysadmin bisa mencari celah atau kerentanan pada server yang dikelolanya, Nmap mempunyai sebuah fitur yang disebut NSE (Nmap Scripting Engine) merupakan kumpulan Script/Kode yang ditulis dengan menggunakan bahasa pemrograman Lua, Script ini berguna untuk mencari Kelemahan pada server dan mencari informasi mengenai web tersebut, ada beberapa contoh diantaranya, http-sql-injection, brute-force, http-open-relay, Dll. dan sekarang saya akan mempraktekan bagaimana cara menggunakan script http-sql-injection, untuk itu mari kita simak tutorial berikut ini.

SQL Injection Scanning

Disini saya akan melakukan scanning SQL Injection pada web testphp.vulnweb.com, website tersebut diciptakan khusus untuk percobaan scanning, jadi kalian bisa leluasa untuk mempelajari dan mempraktekannya. Perintahnya seperti berikut ini.

nmap -T4 -sV --script http-sql-injection testphp.vulnweb.com -v

Penjelasan :
  • nmap : Kata kunci untuk menjalankan aplikasi tersebut.
  • -T4 : Merupakan template yang di sediakan nmap agar proses scanning lebih cepat dan optimal
  • -sV : Untuk melihat versi aplikasi yang digunakan pada host
  • --script : Perintah untuk menjalankan script NSE
  • http-sql-injection : Sebuah script untuk melakukan scanning SQL Injection
  • testphp.vulnweb.com : Target yang akan kita scan
  • -v : sebuah flag yang berfungsi agar kita bisa melihat proses scanning secara detail

Jalankan printah tersebut dan hasilnya akan seperti ini.

root@TechnoArt:~# nmap -T4 -sV --script http-sql-injection testphp.vulnweb.com -v

Starting Nmap 7.40 ( https://nmap.org ) at 2017-05-20 21:27 WIB
NSE: Loaded 41 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 21:27
Completed NSE at 21:27, 0.00s elapsed
Initiating NSE at 21:27
Completed NSE at 21:27, 0.00s elapsed
Initiating Ping Scan at 21:27
Scanning testphp.vulnweb.com (176.28.50.165) [4 ports]
Completed Ping Scan at 21:27, 0.42s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 21:27
Completed Parallel DNS resolution of 1 host. at 21:27, 1.01s elapsed
Initiating SYN Stealth Scan at 21:27
Scanning testphp.vulnweb.com (176.28.50.165) [1000 ports]
Discovered open port 143/tcp on 176.28.50.165
Discovered open port 22/tcp on 176.28.50.165
Discovered open port 110/tcp on 176.28.50.165
Discovered open port 8080/tcp on 176.28.50.165
Discovered open port 995/tcp on 176.28.50.165
Discovered open port 80/tcp on 176.28.50.165
Discovered open port 21/tcp on 176.28.50.165
Discovered open port 25/tcp on 176.28.50.165
Discovered open port 993/tcp on 176.28.50.165
Discovered open port 106/tcp on 176.28.50.165
Increasing send delay for 176.28.50.165 from 0 to 5 due to 78 out of 194 dropped probes since last increase.
Increasing send delay for 176.28.50.165 from 5 to 10 due to 20 out of 49 dropped probes since last increase.
Discovered open port 8443/tcp on 176.28.50.165
Discovered open port 465/tcp on 176.28.50.165
Warning: 176.28.50.165 giving up on port because retransmission cap hit (6).
Completed SYN Stealth Scan at 21:28, 38.79s elapsed (1000 total ports)
Initiating Service scan at 21:28
Scanning 12 services on testphp.vulnweb.com (176.28.50.165)
Completed Service scan at 21:30, 138.10s elapsed (12 services on 1 host)
NSE: Script scanning 176.28.50.165.
Initiating NSE at 21:30
Completed NSE at 21:31, 27.47s elapsed
Initiating NSE at 21:31
Completed NSE at 21:31, 1.08s elapsed
Nmap scan report for testphp.vulnweb.com (176.28.50.165)
Host is up (0.30s latency).
rDNS record for 176.28.50.165: rs202995.rs.hosteurope.de
Not shown: 981 closed ports
PORT     STATE    SERVICE        VERSION
21/tcp   open     ftp            ProFTPD 1.3.3e
22/tcp   open     ssh            OpenSSH 5.3p1 Debian 3ubuntu7.1 (Ubuntu Linux; protocol 2.0)
25/tcp   open     smtp           Postfix smtpd
53/tcp   filtered domain
80/tcp   open     http           nginx 1.4.1
|_http-server-header: nginx/1.4.1
| http-sql-injection: 
|   Possible sqli for queries:
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/AJAX/../showimage.php?file=%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/artists.php?artist=2%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/artists.php?artist=1%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/artists.php?artist=3%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/listproducts.php?cat=1%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/listproducts.php?cat=4%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/listproducts.php?cat=3%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/listproducts.php?cat=2%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|_    http://testphp.vulnweb.com/AJAX/../showimage.php?file=%27%20OR%20sqlspider
106/tcp  open     pop3pw         poppassd
110/tcp  open     pop3           Courier pop3d
143/tcp  open     imap           Plesk Courier imapd
417/tcp  filtered onmux
465/tcp  open     ssl/smtp       Postfix smtpd
993/tcp  open     ssl/imap       Plesk Courier imapd
995/tcp  open     ssl/pop3       Courier pop3d
1102/tcp filtered adobeserver-1
1524/tcp filtered ingreslock
3128/tcp filtered squid-http
4000/tcp filtered remoteanything
7100/tcp filtered font-service
8080/tcp open     http-proxy?
8443/tcp open     http           lighttpd
|_http-server-header: sw-cp-server
Service Info: Hosts:  rs202995.rs.hosteurope.de, localhost.localdomain; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

NSE: Script Post-scanning.
Initiating NSE at 21:31
Completed NSE at 21:31, 0.00s elapsed
Initiating NSE at 21:31
Completed NSE at 21:31, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 208.35 seconds
           Raw packets sent: 1791 (78.780KB) | Rcvd: 1379 (55.220KB)
root@TechnoArt:~# 

Baca Juga :

Yang saya tandai dengan warna merah dan bertuliskan spider manandakan web tersebut terdapat bagian yang rentan terhadap serangan SQL Injection, untuk membuktikannya coba salin/copy salah satu link berikut ini yang sudah saya tandai dengan warna merah.

http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/AJAX/../showimage.php?file=%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/artists.php?artist=2%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/artists.php?artist=1%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/artists.php?artist=3%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/listproducts.php?cat=1%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/listproducts.php?cat=4%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/listproducts.php?cat=3%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/listproducts.php?cat=2%27%20OR%20sqlspider
|     http://testphp.vulnweb.com/search.php?test=query%27%20OR%20sqlspider
|_    http://testphp.vulnweb.com/AJAX/../showimage.php?file=%27%20OR%20sqlspider


Lalu paste link tersebut pada browser kesayangan kalian, website tersebut akan terbuka seperti biasanya.


Lalu tambahkan karakter spesial seperti ' (tanda kutip) di ujung link tersebut, maka hasilnya akan seperti ini.


Pada website tersebut akan muncul tulisan :

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1 Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /hj/var/www/listproducts.php on line 74

Yang manandakan web tersebut terdapat syntax SQL yang error,  setelah kita tahu web tersebut rentan terhadap serang SQLI, lalu bagaimana caranya agar kita bisa mengetahui isi data-data yang ada pada web tersebut seperti username dan passwordnya. Itu akan saya jelaskan pada tutorial berikutnya.

Demikian tutorial dari saya, mengenai SQL Injection, kalian bisa mempelajarinya dirumah dan bisa mempraktekannya pada server yang kalian buat agar tidak mudah diretas oleh orang lain. Silakan share dan komen, jika ada yang ingin ditanyakan silakan hubungi saya dan jangan lupa subscribe untuk mendapatkan informasi terbaru dari blog ini, terakhir dari saya, Wassalamualaiku Warahmatullahi Wabarakatuh.




2 Responses to "Nmap : Cara Mencari Celah SQL Injection pada Web"