安装证书
打开 burpsuite,设置好代理。端口 8080,但是打开 https 的网站却因为证书问题无法访问
这需要我们为浏览器手动安装 CA 证书,两种方法:
- 在 burpsuite 中
选 certificate in DER format 就足够了,不要选 Private,里面包含有个人的隐私信息容易泄密。
next,设置证书保存路径,next,close
- 在已经打开 burpsuite 代理的情况下。在浏览器中打开 http://burp,可以看到有生成 CA 证书的选项,点击
保存下来。现在我们有了证书,开始导入证书
alt 弹出菜单 edit ,Preferences ,Advanced ,Certificates ,view Certificates
import 导入刚才的证书
截断功能
安装完证书之后,访问 www.baidu.com, 此时浏览器并没有显示出页面,因为 burpsuite 默认开启了截断功能 intercept is on,浏览器中不会马上打开
如果想访问这个网址点 forward,如果想跳过这个网址点 drop, 不断地按 forward,就会不断地弹出页面内容,加载完毕,forward 就会变灰;burpsuite 默认情况下开启 request 的截断模式,不截断 response。打开配置选项可以看到具体的配置内容,可以看到默认勾选截断 request,不勾选截断 response。默认勾选的
是因为这几项的内容通常存在安全隐患的可能性较低。还有个比较重要的,
这两项一定要勾选上,头长度不是固定不变的,勾选不容易出错。
返回的页面中有时候会包含有隐藏的域,里面包含一些隐藏的信息,显示隐藏的信息勾选 unhide hidden form fields,如果想激活一些禁用的表单,勾选 enable hidden form fields
匹配和替换头信息
随便选中一个 edit
可以看到请求头一旦满足匹配条件 就替换成
如果修改一下:
向目标发一个请求,在 history 中查看刚才的请求,original request,存储着原始的请求头,auto-modified request 可以看到修改之后的头
刚才不断点 forward 的过程中,浏览器和服务器端真正产生过的流量可以在 HTTP history 这里体现
还可以在 target 中查看,其中的信息有两种,一种是黑色的,一种是灰色的,黑色的表示真正产生过访问请求的,灰色是经过 url 爬网爬出来的,只说明有这个 url,但是没有发起访问请求。
这样显示的内容过多,有时会进行信息的过滤,右击感兴趣的 url add to scope
添加以后,点选红框所示白条,勾选 show only in-scope items,然后随便点一下鼠标就会更新配置,
就会只显示刚才加到 scope 中的内容
可以在 scope 中看到生成的正则表达式,下面红框是排除一些页面
加注释
爬网
为了爬网更加顺畅,先关掉截断功能
先进行手动爬网:进到目标页面需要点的地方和输入的地方去操作一下,在 spider 下就能看到爬网的记录
自动爬网
当你爬网时需要登录身份验证时,提示输入,也可以勾选自动填入
安装插件
发现有些插件的 install 按钮是灰的,是因为缺少 jython,安装 jython,地址 http://www.jython.org/downloa…,下载好之后指定一下
然后就可以直接安装了
入侵
intruder,用来做 fuzzer 模糊测试。发送到 intruder 模块
高亮的区域‘$’之间的是变量,可以用作模糊测试的地方
点击右侧的 clear$,清除所有的变量
add$ 添加两个个自定义的变量 $a$、$d$
攻击类型介绍
sniper : 使用一个字典文件,先穷举 a,穷举完 a 之后 a 恢复原值,然后再穷举 d
battering ram : 使用一个字典文件,分别在 a、d 上放同一个值
pitchfork:使用两个字典文件,分别在 a、d 上放两个文件中同一序号的值,比如当 a 放第一个字典的第一个值,d 也放第二个字典的第一个值,当 a 放第一个字典的第 n 个值,d 也放第二字典的第 n 个值。
cluster bomb:使用两个字典文件,这个把各个可能的组合全都试验一遍。
添加字典
字典类型 runtime file 表示先不 load,只有启动攻击的时候才 load
字典类型 case modification 可以进行大小写的转换,比如设置为 aaa 的时候,会产生 aaa、Aaa、AAA
字典类型 character blocks 字符块类型
以上表示从插入 100 个 A 开始,然后插入 150 个 A,然后插入 200 个 A(每次递增 50)……直到插入 1000 个 A
字典类型 numbers 数字类型
表示从 1 到 100,步长为 2
字典类型 dates
用日期作为插入的内容,字典类型 brute forcer 暴力破解
字典类型 username generator 用户生成器
可以对 payload 进行处理,比如增加前缀,后缀,匹配替换,反转,编解码,hash 计算
还集成了一些常用的字典,比如常用的注入代码,
通过编码的方式绕过开发人员的一些脚本的过滤
开始爆破;怎么查看破解成功,可以先点击 status、length,看能不能找到,如果没有找到可以在 filter 中查找登录成功的特征字符。
也可以在配置中设置 grep match、先 clear 掉原来默认的特征字符,再添加一个特征字符 index.php,因为这个特征字符在 header 中,所以把忽略头 exlude HTTP header 这个勾选去掉
然后就找到了
send to repeater
手动提交,注入。
将 post 请求改成 get 请求
直接就可以看到页面
生成 csrf POC 代码
点击在浏览器中测试,copy
拿到浏览器里访问
或者拷贝出来
保存到文本中
双击, 就能重定向到目标的网页了。
sequencer
分析程序中可预测的数据
session cookies,分析是否可以预判
开始分析
生成一个报告,结果是 excelent,这个随机数的随机性非常好。
编解码
智能解码