Linux安装sqlmap
由于做的网站被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注入检测
新手指南:手把手教你如何搭建自己的渗透测试环境