由於做的網站被SQL注入,為了測試sql注入,學習了滲透測試工具sqlmap。
其在Linux雲服務器上的安裝步驟如下:
1、用git命令安裝。
git clone https://github.com/sqlmapproject/sqlmap.git
2、如果沒有安裝git,先裝git。
yum -y install git
3、安裝完sqlmap,當前目錄下會多一個sqlmap的目錄。進入sqlmap目錄。用命令啟動sqlmap。
python sqlmap.py
4、如果提示-bash: python: command not found,則可能是沒有安裝Python。Python安裝命令。
sudo yum install python
5、 筆者在用上面的命令安裝Python時,提示Python找不到,並建議安裝python2,python3。這應該是服務器中沒有python包。一些文章中說sqlmap的運行需要Python2,所以選擇python2。這樣安裝命令就變成了。
sudo yum install python2
6、如果是用步驟5安裝的Python,一定要記得后面所有sqlmap時的命令都是以python2開始。例如sqlmap的啟動命令由python sqlmap.py變為了python2 sqlmap.py。這一點要切記。
7、安裝之后如果要連接數據庫,則在命令中添加-d參數。sqlmap連接不同的數據庫時命令格式不同(更詳細的內容請參考Sqlmap中文手冊)。連接MySQL時的格式為
DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME
例如連接本機的MySQL數據庫,可以用命令python sqlmap.py -d "mysql://root:root@127.0.0.1:3306/DISSchool。
7.1如果連接時報錯sqlmap requires 'python-pymysql' third-party library in order to directly connect to the DBMS 'MySQL'. You can download it from 'https://github.com/PyMySQL/PyMySQL'. Alternative is to use a package 'python-sqlalchemy' with support for dialect 'mysql' installed
則需要安裝Python安裝MySQL的第三方庫python-pymysql。安裝命令如下。
git clone https://github.com/PyMySQL/PyMySQL
cd PyMySQL/
sudo python setup.py install
安裝之后再執行python sqlmap.py -d "mysql://root:root@127.0.0.1:3306/DISSchool。
8、指定測試的目標url,用參數-u。命令如下:
python sqlmap.py -u "http://192.168.21.12:8080/mylink.action?userCode=admin" --batch
由於sqlmap在執行的過程中會一直詢問是否要執行某個測試,需要手動選擇。可以在后面加--batch,表示不需要用戶輸入,使用默認行為。
如果url中有SQL注入,在運行結果中會有顯示,可參考文章使用sqlmap進行SQL注入檢測。
本文參考的主要文章如下:
Sqlmap中文手冊
超詳細SQLMap使用攻略及技巧分享
使用sqlmap進行SQL注入檢測
新手指南:手把手教你如何搭建自己的滲透測試環境
