Burp的简单使用
安装部分不在描述,下载专业版
模块的详细介绍请参考文章:https://www.cnblogs.com/ichunqiu/p/7234655.html
在这里我只列出初级阶段比较常用的模块
Proxy代理模块
Proxy模块下属四个小模块
- Intercept: 拦截数据包的一个功能
- HTTP histiory:http 历史,即是所有数据包的一个历史记录
- WebSockets history:web接口历史
- Options:设置参数
下图中,on代表拦截开启
抓取数据包
首先要在Options模块设置,我们要拦截的IP及端口
一般我们都设置拦截本机的8080端口
然后在浏览器设置代理
手动设置代理步骤(谷歌):打开设置-->高级-->打开代理设置
在弹出的对话框中,点击局域网设置
点击确定
我们也可以使用插件控制-->Proxy SwitchyOmega
点击选项-->新增应用情景,进行如下设置
点击确定,然后开启我们新配置的情景模式,就可以抓取http协议的包了
但是这个时候,我们是无法抓取https协议的包的
想要抓取https协议的数据包,我们需要给浏览器添加证书,首先我们到处burp的证书
选择导出位置,然后输入导出的名称,注意是cer结尾
然后桌面就会多出了我们导出的证书文件
接下来,我们需要给浏览器安装证书
设置-->高级-->管理证书
然后点击下一步,傻瓜步骤至安装成功,我们受信任的证书会有个如下证书
抓取https的数据包
我们也可以访问http://burp来访问burp的证书页面下载证书
截取服务器的响应包
如上步骤我们只是截断了客户端到服务器的数据包,并未截取服务器的响应包
但是在某些测试的时候,我们可能会用到修改服务器的响应包,以达到某种效果
点击Forword,我们就能看到服务器的相应信息
Spider模块
可以简单理解为爬虫模块,我们可以用此模块爬取网站的目录,爬取后台地址
Options中有如下模块,一般选择默认就行了
- Crawler Settings(履带的设置):就是设置了一些爬行的选项,url请求,最大url请求等
- Passive Spidering(被动搜索): 通过Burp代理监视流量,以更新站点地图,发出任何新的请求
- Form Submission(表单提交):就是设置控制了爬行是如何提交html表单的一个项目
- Application login (应用程序登录):打个比方说你要爬行一个后台,这时候就需要用要登录,要不然没法爬到里面的一些url
- Spider Engine(爬行引擎):一种控制引擎,用于在监视时发出http请求的引擎
- Request Headers (请求头):是设置一些由爬行器发出的http请求中的请求头
我们把刚才发送的数据包,发送到spider模块
爬取的内容我们可以在Target模块看到,如下图
注意这里的爬取需要各个页面直接由关联,跟爆破不一样
爆破和爬虫各有各的好吧
Scanner模块
扫描工具太多,我一般不用burp扫描
想学习的可以参考:https://blog.csdn.net/lynnlinlin/article/details/77480726
Intruder模块
怎么说呢?爆破模块
此模块功能强大,用途甚广
爆破模式有四个
- Sniper:只需要指定一个文件,假如该文件里有两条内容,会在第一个位置上逐一插入这两条内容,再在第二个位置上逐一插入这两条内容。在第一个位置上插入内容的时候第二个位置不动(初始值)
- Battering ram: 在第一二个位置上全放payload的第一个值,第二次都放第二个值
- Pitchfork: 不能只指定一个字典,会在第一个字典中取第一项放在第一个位置,同时在第二个字典中取第一项放在第二个位置,之后换各自字典第二项进行同时替换
- Cluster bomb: 不是一对一的关系,第二项里面先用其字典的第一个值和第一项的所有字典都对应一次,之后第二项再换成字典中的第二个
具体操作实例如下
首先把需要爆破的数据包发送到Intruder模块
修改变量
设置payload
点击右上角的start attact,开始爆破
根据返回包的长度来判断哪个是正确的密码
验证码爆破
我们可以直接选择数字组合,但是这种组合有缺陷
比如四位数字的验证码就只能爆破1111-9999
我们可以选择Brute forcer,设置为纯数字最小四位,最大四位,如下图
此模块还能在我们做测试,比如文件上传,SQL注入,绕waf的时候进行模糊测试
比如空格,%0a选为变量进行爆破fuzz测试
比如/*!50000select*/,把50000选为变量,测试可以通过的版本号之类的,待发掘
下面再介绍一个比较好用的就是使用burp跑布尔盲注,比sqlmap好用,还有注入的时候使用exists函数,可使用此模块爆破access表的表名,也比sqlmap好用,sqlmap太容易被ban了
第一个payload设置如下,这里我们的payload类型选择numbers
第二个payload设置如下
点击爆破,成功之后再对以下数据解码
Repeater模块
这个模块没什么需要说的,就是平时测试中为了不频繁抓包,可以先把数据包放到这个模块
- 从Proxy history、site map、Scanner等模块中右键菜单send to repeater发送到repeater,对页面数据进行修改发送。
- 点击go,发送请求,右边响应请求。
- 可以通过“<“和”>“来返回上一次和下一个操作。
- 单击”x“可以删除当前测试请求页面。
- 底部的功能用于搜索条件,可以用正则表达式,底部右边显示匹配结果数
Repeater模块也是用于会话重放漏洞的测试模块
Decoder模块
此模块用于编码解码,放一张图就知道了,属于插件模块,很实用
Extender模块
此模块用于添加新的模块,我们可以自己下载jar包添加,也可以直接再商店添加
手动添加如下
有些jar包不仅需要java环境,还需要python环境,这如下地方设置
商店自动添加
User options模块
主要用于一些自己的个性化设置
burp乱码的设置
暂时这些吧