Burp必备知识
在介绍功能之前有必要让大家了解一些burp的常用功能,以便在使用中更好的发挥麒麟臂的优势。
1.1 快捷键
很多人可能都没用过burp的快捷键吧,位置如下,不说话,如果不顺手可以自己定义。
1.2 抓包设置
网上设置抓取HTTPS的数据包设置步骤太多,这里来个简单的。其实很多步骤不用按照网上的教程来。
1:访问本地监听的端口,在浏览器或者burp中下载证书。
2:双击证书根据向导安装。下一步,下一步,还是下一步,就安装成功了,证书其实和浏览器并没有太大关系,Google、火狐都能抓到https的包了。
1.2.1、安卓APP抓包
有安卓手机的,老司机建议最好使用实体机测试APP,操作性、流畅度都会好一些。如果手里没有Android手机,但又对APP测试爱的深沉无法自拔的同学,买手机吧。
可以使用模拟器进行测试。 笔者喜欢用国产的天天模拟器或者Andy、 Genymotion。
大家可能会问。使用很多模拟器发现获取到的IP是10.0.3.15,局域网的IP是172.17段的。不在一个段怎么抓包啊。其实你不用担心,笔者亲测,直接将Android手机的代理设置为电脑锁链接的无线网IP即可抓包。抓取HTTPS下载证书什么的就很简单了。
看下本地连的无线网络是哪个。并在burp中设置对应端口。
Android手机WIFI开关上长按,弹出高级选项,设置代理:
1.2.2、抓更多的包
Burp
suite默认情况下只截断请求数据包(get,post,request…),为了截断服务器回应数据包等其他数据包,需要将proxy->option选择中的interrupt设置修改。勾选上希望抓取的包类型,如果没有找到自己想要的,可以手动添加一个,支持正则。
1.2.3QA:解决抓不到包的问题
- 监听选项前面的勾要选上。
- Burp监听的默认端口被占用,修改默认监听端口;
- 同一局域网代理抓包不到,1)修改dns为同一dns,2)关闭电脑防火墙;
- 检查是否开启Upstream Proxy Servers,如果没有相对应的socket开启请关闭;
- 恢复默认设置Burp>>Restore defaults,退出重新启动;
- 证书未安装或安装错误,请查看Proxy设置
- 当用手机抓包时错误提示“The
Client failed to negotiate an SSL connection to example.com:443:
Received fatal alert:
certifice_unknown”,说明可能安装证书的时候没有以开发者模式安装。检查一下手机是否处于开发者模式。
1.3 浏览器检测
测试某些站点时可能会遇到浏览器检测,只能使用指定的浏览器或者手机访问访问,不用担心,通过设置数据包中包含浏览器信息可以轻易避免此问题。配合Google浏览器可以轻易解决此问题:
1.4 SOCKS代理访问
代理的用途可就多了。FQ、解救被封印的少女、防查水表、可谓必备啊。比较遗憾的是Burp只支持socks代理。不过也还是挺好用的。说到防查水表,首先你得有个国外的水表,警察叔叔才不会漂洋过海来查你。笔者当年在国外搬砖,运气好在搬瓦的工地上捡到一块还不错的水表。
可以直接登录远程的代理。也可以在本地SS代理搞起,然后监听对应的端口就行了。这样电脑、Burp都可以了。
如何测试socks代理是否设置成功?
用Burp发包访问下google就知道了。为了更为直观的表现,我这里访问个dnslog,在记录中将收到来自美国的问候。
1.5 【正文来了】Spider爬虫
Burp获取url主要通过测试者访问记录和主动爬虫。HTTP history记录了测试者的测试过程,适合用于测试指定的功能,也可反应出渗透工程师的测试过程,特别是对于几个相邻有关的数据包的查看起到很好的作用。
Burp Suite抓取数据包后会自动将网站加入到Target中,为了定向爬取和扫面目标网站,将目标网站加入Scope特别关注。在经行Spider爬虫的时候就只会爬取Scope网站中的链接
Scope支持正则表达式:
如果想要爬取目标域名机器相关的二级域名,可以修改Scope中的记录:如下将爬取baidu.com及其二级域名。
Burp Suite1.7.0以后对爬虫进行了优化,默认值爬取目标网站,其他网站处于休眠状态。这样可以大大加快爬虫速度,也避免了由于缓存过多造成Burp Suite卡顿或崩溃的情况。
需要注意的是,Burp的不适合于爬取大量html页面的网站,比如:新闻站点。很容易卡死。
1.6 Scanner扫描
Burp的爬虫功能和Scanner功能是相互独立的,一般操作是先爬虫,然后选中要主动扫面的站点或者指定数据包发送到扫描模块。如果想要全面的扫描目标网站,你需要使用Activety scan this host
扫描的时候一般会去掉对图片,css,js文件的扫描。
扫面开始后在Scanner中可以看到具体信息:
也许会有同学问,登录爬虫和扫描怎么破。我只想说,你们问题真多,一看就没好好学英文。Burp的好处就在于,如果你抓包的过程中有截获过登录的数据包,带上了Cookie。那你就完全不用管登录的事情了,Burp会带入回话进行爬虫和扫描。
1.7 插件扩展Extender
Bapp store中有许多扩展插件,可根据需要自行安装。其实很多都不怎么好用,为了让你们当伸手党,我也是操碎了心。强心装逼将store中的插件都用了一遍。现在让老师来教教你怎么玩。Store就躺在这里,快来看。
在安装前最好先配置下Burp Suite的临时文件和配置存放路径,这样以后软件转移会方便很多。
在插件中有两类需要先配置使用环境,Jruby和jpython,下载地址分别如下:
jruby HTTPS://s3.amazonaws.com/jruby.o ... omplete-9.1.5.0.jar
jython http://www.jython.org/downloads.html
下载免安装的.jar包就行了。配置很简单,只需要在Extender->option中导入对应环境就好了。
需要说明的是:jruby,jpython并不是java的插件,而是ruby,python在java语言下的完全实现。换句话说:有人用java实现了ruby,python的编译、运行。
默认情况下这些插件会被下载到:
C:\Users\echo【当前用户目录】\AppData\Roaming\Burp Suite\bapps。
下载后的插件在Extensions中会有显示。为了菜单面板简洁,你可以选择性的加载。笔者在使用过程中还发现,如果插件加载过多可能导致软件卡顿甚至崩溃的情况。这可能跟第三方开发者代码能力也有关系。建议使用的时候别一次性加载所有的插件,根据需要加载。
有的时候插件安装多了的时候会提示memory错误信息,可以使用如下命令增加内存启动:java –jar –Xmx2048m /path/to/burp.jar
如果需要保存当前面板和各个配置项,可在Burp->User options中保存。
1.7.1 SQL注入插件
Sqlmap可能是大家使用较多的工具之一,配合抓包测试注入也是相当经典的用法。在使用之前建议先在系统环境变量中添加sqlmap,这样你可以在命令行下的任意目录启动sqlmap.py。添加方法如图。
查看当前环境变量还可以通过在命令行下执行:path 查看。
Sqlmap的插件现在有很多个版本,有的是调用sqlmap直接命令行下运行;有的则是基于sqlmapapi.py。先介绍前者,也是笔者更喜欢的一种。
1.7.2、Sqlmap.jar
附件中有个名为sqlmap.jar的插件包,手动导入到Burp Extensions中:
添加后菜单面板中会多出一个sqlmap的选项。我们可以在这里输入需要执行的sqlmap命令。支持多条命令,使用的时候会依次执行。
在抓取数据包后,选择任意数据包:右键send to sqlmap即可。
注入的时候,一个提高手速的技巧就是,Sqlmap中“*”代表注入点。当把某个参数后面加上一个星号时,sqlmap将把它设为注入参数,与“-p”参数功能相同。
如果想要查看完整的当前数据包,可以根据命令行上测试语句的显示找到:
C:\Users\echo\AppData\Local\Temp\\1477018275510.req
1.7.3、gason-0.9.6.jar
gason-0.9.6.jar相当于sqlmap.jar的gui版。太懒不喜欢敲命令的同学可以用这个。
使用时需要提前配置sqlmap.py的路径。使用时,注入过程效果显示不是很好。
1.7.4、CO2
CO2中包含好几个插件,第一个就是SQL注入的。
除此之外还有些比较好用的,如:用户字典生成:
基础认证字典生成工具。
1.7.5 越权测试插件
Burp中有三个插件可用于越权测试,分别是:Autorize、Authz(水平越权测试)、AuthMatrix(垂直越权测试)。比较简单。
插件部分的话,大家自行研究吧,没什么好讲的,下载下来,加载上,要么右键菜单使用,要么主动扫描的时候自动加载。
学习累了?让面码带你去找葫芦娃谈谈人生(上述讲到的东东都在面码手里,能找到吗?)。图片损坏了,直接给个包吧。
(118.81 KB, 下载次数: 140)