Burp Suite渗透实战操作指南-上篇

本文来源于i春秋社区

Burp必备知识
在介绍功能之前有必要让大家了解一些burp的常用功能,以便在使用中更好的发挥麒麟臂的优势。

1.1  快捷键
很多人可能都没用过burp的快捷键吧,位置如下,不说话,如果不顺手可以自己定义。
160226op378baw9er77rbw.jpg
1.2  抓包设置
网上设置抓取HTTPS的数据包设置步骤太多,这里来个简单的。其实很多步骤不用按照网上的教程来。
1:访问本地监听的端口,在浏览器或者burp中下载证书。
160237s5ftsfuh4gv46k4t.png
160248d6dscd5d56coeeh7.png
2:双击证书根据向导安装。下一步,下一步,还是下一步,就安装成功了,证书其实和浏览器并没有太大关系,Google、火狐都能抓到https的包了。
160334g4cz5p5unr5mf0r4.png


1.2.1、安卓APP抓包

有安卓手机的,老司机建议最好使用实体机测试APP,操作性、流畅度都会好一些。如果手里没有Android手机,但又对APP测试爱的深沉无法自拔的同学,买手机吧。


可以使用模拟器进行测试。 笔者喜欢用国产的天天模拟器或者Andy、 Genymotion。
大家可能会问。使用很多模拟器发现获取到的IP是10.0.3.15,局域网的IP是172.17段的。不在一个段怎么抓包啊。其实你不用担心,笔者亲测,直接将Android手机的代理设置为电脑锁链接的无线网IP即可抓包。抓取HTTPS下载证书什么的就很简单了。
看下本地连的无线网络是哪个。并在burp中设置对应端口。
160500rnknu384s4owqdow.png
160508u4152f2tz5zpz92f.png
Android手机WIFI开关上长按,弹出高级选项,设置代理:
160521oq5y3d2se3esw5f7.png160529lk8zss9sa877l8aa.png

1.2.2、抓更多的包
Burp suite默认情况下只截断请求数据包(get,post,request…),为了截断服务器回应数据包等其他数据包,需要将proxy->option选择中的interrupt设置修改。勾选上希望抓取的包类型,如果没有找到自己想要的,可以手动添加一个,支持正则。
160553er6daajbbj6wtvva.png

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浏览器可以轻易解决此问题:
160645b7x4fm4bya3mlfj3.png
160656clllsutbssxi6xgx.png

1.4  SOCKS代理访问
代理的用途可就多了。翻墙、解救被封印的少女、防查水表、可谓必备啊。比较遗憾的是Burp只支持socks代理。不过也还是挺好用的。说到防查水表,首先你得有个国外的水表,警察叔叔才不会漂洋过海来查你。笔者当年在国外搬砖,运气好在搬瓦的工地上捡到一块还不错的水表。
160719s772bggetsubc4t6.png
可以直接登录远程的代理。也可以在本地SS代理搞起,然后监听对应的端口就行了。这样电脑、Burp都可以了。
160727jmeb5rqbrk5jjzdc.png
如何测试socks代理是否设置成功?
用Burp发包访问下google就知道了。为了更为直观的表现,我这里访问个dnslog,在记录中将收到来自美国的问候。
160757vgiituui2cwy8g0k.png
160757b9z8827x78x2i607.png

1.5  【正文来了】Spider爬虫
Burp获取url主要通过测试者访问记录和主动爬虫。HTTP history记录了测试者的测试过程,适合用于测试指定的功能,也可反应出渗透工程师的测试过程,特别是对于几个相邻有关的数据包的查看起到很好的作用。
160758h15dtmczc6sstccb.png
Burp Suite抓取数据包后会自动将网站加入到Target中,为了定向爬取和扫面目标网站,将目标网站加入Scope特别关注。在经行Spider爬虫的时候就只会爬取Scope网站中的链接
160758djwijupuiq083z82.png
Scope支持正则表达式:
160759qy2uyak3y3auitr5.png
如果想要爬取目标域名机器相关的二级域名,可以修改Scope中的记录:如下将爬取baidu.com及其二级域名。
160759x8mzmoojuusuuuum.png
160800f4p1p3j66qc24h5y.png

Burp Suite1.7.0以后对爬虫进行了优化,默认值爬取目标网站,其他网站处于休眠状态。这样可以大大加快爬虫速度,也避免了由于缓存过多造成Burp Suite卡顿或崩溃的情况。
160800ulh4im3rmhvo1o5v.png

需要注意的是,Burp的不适合于爬取大量html页面的网站,比如:新闻站点。很容易卡死。

1.6  Scanner扫描
Burp的爬虫功能和Scanner功能是相互独立的,一般操作是先爬虫,然后选中要主动扫面的站点或者指定数据包发送到扫描模块。如果想要全面的扫描目标网站,你需要使用Activety scan this host
160801rgcjec32dt6ds7pp.png
扫描的时候一般会去掉对图片,css,js文件的扫描。
160801ttpvr5wvi5vee52h.png
扫面开始后在Scanner中可以看到具体信息:
160802x1uv1ee14u08ejh4.png
也许会有同学问,登录爬虫和扫描怎么破。我只想说,你们问题真多,一看就没好好学英文。Burp的好处就在于,如果你抓包的过程中有截获过登录的数据包,带上了Cookie。那你就完全不用管登录的事情了,Burp会带入回话进行爬虫和扫描。


1.7  插件扩展Extender
Bapp store中有许多扩展插件,可根据需要自行安装。其实很多都不怎么好用,为了让你们当伸手党,我也是操碎了心。强心装逼将store中的插件都用了一遍。现在让老师来教教你怎么玩。Store就躺在这里,快来看。
160802mazw8uvg2gv444cc.png
在安装前最好先配置下Burp Suite的临时文件和配置存放路径,这样以后软件转移会方便很多。
160803icnpzln8y74goo5l.png
在插件中有两类需要先配置使用环境,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中导入对应环境就好了。
160803opheyxr3yx4atxp6.png
需要说明的是:jruby,jpython并不是java的插件,而是ruby,python在java语言下的完全实现。换句话说:有人用java实现了ruby,python的编译、运行。
默认情况下这些插件会被下载到:
C:\Users\echo【当前用户目录】\AppData\Roaming\Burp Suite\bapps。
160803wimieii1i421i143.png
下载后的插件在Extensions中会有显示。为了菜单面板简洁,你可以选择性的加载。笔者在使用过程中还发现,如果插件加载过多可能导致软件卡顿甚至崩溃的情况。这可能跟第三方开发者代码能力也有关系。建议使用的时候别一次性加载所有的插件,根据需要加载。
160804e52smnt9jt1jbs4n.png
有的时候插件安装多了的时候会提示memory错误信息,可以使用如下命令增加内存启动:java –jar –Xmx2048m /path/to/burp.jar
如果需要保存当前面板和各个配置项,可在Burp->User options中保存。
160804crocv1c1ssf3rmmd.png

1.7.1  SQL注入插件
Sqlmap可能是大家使用较多的工具之一,配合抓包测试注入也是相当经典的用法。在使用之前建议先在系统环境变量中添加sqlmap,这样你可以在命令行下的任意目录启动sqlmap.py。添加方法如图。
160805obdly57cublffd5c.png
查看当前环境变量还可以通过在命令行下执行:path 查看。
160805vdtc9tbztbtjz9zz.png
Sqlmap的插件现在有很多个版本,有的是调用sqlmap直接命令行下运行;有的则是基于sqlmapapi.py。先介绍前者,也是笔者更喜欢的一种。


1.7.2、Sqlmap.jar
附件中有个名为sqlmap.jar的插件包,手动导入到Burp Extensions中:
160805e89gxxxh81ptf122.png
添加后菜单面板中会多出一个sqlmap的选项。我们可以在这里输入需要执行的sqlmap命令。支持多条命令,使用的时候会依次执行。
160805fqrpp1a2w27amvjm.png
在抓取数据包后,选择任意数据包:右键send to sqlmap即可。
160806c0l6p6ld8aiamm0s.png
注入的时候,一个提高手速的技巧就是,Sqlmap中“*”代表注入点。当把某个参数后面加上一个星号时,sqlmap将把它设为注入参数,与“-p”参数功能相同。
160806op41ihi6kik6vrsz.png
160807hztlcvd9ugt5dvlg.png

如果想要查看完整的当前数据包,可以根据命令行上测试语句的显示找到:
C:\Users\echo\AppData\Local\Temp\\1477018275510.req
160807qbcwfazcu22z63c6.png


1.7.3、gason-0.9.6.jar
gason-0.9.6.jar相当于sqlmap.jar的gui版。太懒不喜欢敲命令的同学可以用这个。
161559dk6wk6lfk6kdw2kk.png
160808izpk27mgym37sgye.png
使用时需要提前配置sqlmap.py的路径。使用时,注入过程效果显示不是很好。
160808e7ypgqgqa1vzkbqc.png


1.7.4、CO2
CO2中包含好几个插件,第一个就是SQL注入的。
160809sqw3pyziayw76yy6.png
除此之外还有些比较好用的,如:用户字典生成:
160809bgt4gtqe68naxze9.png
基础认证字典生成工具。
160809tunsc3ou8n4oijvs.png


1.7.5  越权测试插件
Burp中有三个插件可用于越权测试,分别是:Autorize、Authz(水平越权测试)、AuthMatrix(垂直越权测试)。比较简单。
插件部分的话,大家自行研究吧,没什么好讲的,下载下来,加载上,要么右键菜单使用,要么主动扫描的时候自动加载。
160810tt6anui7z5kigjuv.png
学习累了?让面码带你去找葫芦娃谈谈人生(上述讲到的东东都在面码手里,能找到吗?)。图片损坏了,直接给个包吧。

更多安全技术、精品好文、白帽黑客大佬尽在:http://bbs.ichunqiu.com/portal.php

转载于:https://my.oschina.net/ichunqiu/blog/815613

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值