====== 檢測 SQL Injection 的工具 - SQLMap ======
* 最近剛好有網站被 [[https://hitcon.org|HITCON]] 通報, 發現提報的使用工具就是 SQLMap, 因此修改後也去了解與使用 SQLMap 自行檢測一下
* SQLMap 檢測運行環境 :
* CentOS 6.9 x86_64 / CentOS Linux release 7.6.1810 (Core)
* python-2.6.6-66 / python-2.7.5-80
===== 安裝程序 =====
* 只要下載解壓縮就可執行
wget https://github.com/sqlmapproject/sqlmap/tarball/master
mv master master.tar.gz
tar -zxvf master.tar.gz
cd sqlmapproject-sqlmap-*
===== 基本檢測語法 =====
* 要檢測的網址 - http://192.168.1.101/myapp/index.php?id=1
* SQLMap 執行語法
python sqlmap.py -u "http://192.168.1.101/myapp/index.php?id=1" --batch --banner --level=5 --risk=3
or
python sqlmap.py --url="http://192.168.1.101/myapp/index.php?id=1" --user-agent=SQLMAP --delay=1 --timeout=15 --retries=2 --keep-alive --threads=5 --eta --batch --dbms=MySQL --os=Linux --level=5 --risk=3 --banner --is-dba --dbs --tables --technique=BEUST -s /tmp/scan_report_myapp_1.txt --flush-session -t /tmp/scan_trace_myapp_1.txt --fresh-queries > /tmp/scan_out_myapp_1.txt &
* 如果有 SQL Injection 會出現類似以下的訊息
___
__H__
___ ___[.]_____ ___ ___ {1.2.4.3#dev}
|_ -| . ['] | .'| . |
|___|_ [)]_|_|_|__,| _|
|_|V |_| http://sqlmap.org
:
:
[22:01:46] [INFO] heuristic (basic) test shows that GET parameter 'id' might be injectable (possible DBMS: 'MySQL')
[22:01:47] [INFO] heuristic (XSS) test shows that GET parameter 'id' might be vulnerable to cross-site scripting (XSS) attacks
:
[22:01:47] [WARNING] reflective value(s) found and filtering out
:
[22:07:23] [INFO] the back-end DBMS is MySQL
[22:07:23] [INFO] fetching banner
[22:07:24] [INFO] retrieved: 5.6.39-83.1-56
web server operating system: Linux CentOS 5.10
web application technology: PHP 5.2.10, Apache 2.2.3
back-end DBMS: MySQL >= 5.0
banner: '5.6.39-83.1-56'
可以獲取後端 DB 的資訊
* 如果沒有問題, 在每段檢測後都會出現以下訊息
___
__H__
___ ___[,]_____ ___ ___ {1.2.4.3#dev}
|_ -| . [.] | .'| . |
|___|_ [(]_|_|_|__,| _|
|_|V |_| http://sqlmap.org
:
:
[22:09:35] [WARNING] heuristic (basic) test shows that GET parameter 'id' might not be injectable
:
[22:24:57] [WARNING] GET parameter 'id' does not seem to be injectable
:
:
===== 參考網址 =====
* https://github.com/sqlmapproject/sqlmap/wiki/Usage
{{tag>類型:資安 狀態:已發行 SQL}}