主要讲解安全工具使用,由于在渗透实战中,Burp在Web渗透过程中,使用比较高,此次课程给大家讲解Burp使用,下次课程给大家讲解其它渗透过程中比较常用工具。
Edit me

burp简介

Burp Suite是Web应用程序测试的最佳工具之一,可以对请求的数据包进行拦截和修改,扫描常见的web安全漏洞,暴力破解登录表单、遍历数据等等。

Burp所需环境

Burp Suite是Java编写的,所以在使用前需要安装Jdk环境,这里不进行具体讲解如何安装jdk,安装完成后将jdk相关目录添加到环境变量中。

主要功能

首先,我们看下burp都有哪些功能,并且都是用来做什么的。

  • proxy – Burp Suite设置代理,抓取数据包。

  • Spider – Burp Suite的蜘蛛功能是用来抓取Web应用程序的链接和内容等。

  • Scanner – 是用来扫描Web应用程序漏洞的,可以发现常见的web安全漏洞,但会存在误报的可能。

  • Intruder – 可进行Web应用程序模糊测试,进行暴力猜解等。

  • Repeater – 对数据包进行重放,可分析服务器返回情况,判断修改参数的影响。

  • Sequencer – 用来检查Web应用程序提供的会话令牌的随机性.并执行各种测试。

  • Decoder – 对数据进行加解密操作,包含url、html、base64等等。

  • Comparer – 此功能用来执行任意的两个请求,响应或任何其它形式的数据之间的比较。

  • extender - 加载Burp Suite的扩展,使用你自己的或第三方代码来扩展Burp Suite的功能。

  • options - 设置burp,字体,编码等等

  • alerts - 是用来存放报错信息的,用来解决错误

功能介绍

本次我们主要学习如何使用burp抓取数据包的proxy功能。

首先,打开burp,并进入到proxy功能,可以看到optionsHistroyinterceptwebsockets history标签。

Intercept模块

Intercept - 控制抓取到的数据包,并可将数据包放行或舍弃,以及发送到其他功能中。

Intercept相关功能

  • Forward - 将抓取或修改后的数据包发送到服务器端

  • Drop - 丢弃抓取到的数据包,不与服务器端进行交互该数据包

  • Interceptionis on/off - 是否拦截数据包,on表示拦截,off表示放行

  • Action - 可对该数据包做哪些操作,同样数据包处右击和action效果相同

  • Commentfield - 为请求包或响应包设置注释,并可选择相应的颜色,更容易在history中查找到

  • - 查看帮助信息。可通过帮助信息查看功能的使用

同样,burp有四种消息类型显示数据包

Raw - 以纯文本形式显示数据包

Params - 包含参数URL 查询字符串、cookies的请求,并可双机该请求进行修改

Headers - 以名称、值的形式显示获取的数据包。

Hex - 可编辑数据包的二进制数据,在进行00截断时非常好用。

同样,burp具有搜索功能,可以搜索当前数据包中你想要的内容,并且会显示符合内容的个数以及位置

histroy模块

Histroy - 记录设置代理后浏览器访问的页面数据包,详细记录数据包的host、method、url、status、extension等等

当我们选中某个请求时,可以看他的请求包信息,同样也可查看他的响应包信息

请求数据包

同样,可以双机某个数据包即可打开详情,通过Previous/next功能切换到其他数据包,同时,也可将该数据包发送到其他功能模块当中,方便我们的使用

如果认为某个数据包比较重要,可将当前数据包设置某个醒目的颜色以提示他的重要性

该模块下存在filter功能,有许多模块存在该功能,可使用该功能将认为无用的数据包隐藏,把需要的数据包显示到当前状态下。

点击filter功能会出现该功能的配置选项。

可以按照请求类型,请求的状态,mime类型、搜索关键字,文件后缀、监听的端口等等,按个人需求去缩小需要的范围

options模块

options - 该选项主要用于设置代理监听、请求和响应,拦截反应等等。

Proxy Listeners - 设置监听

可以添加回环地址、所有的接口、具体的某个ip的地址

Intercept Client Requests - 配置拦截规则,设置拦截数据包的匹配规则。 规则可以是域名、IP、协议、HTTP方法、URL等等

Intercept Server Responses - 配置拦截规则,设置拦截的匹配规则,基于服务器端的返回情况进行匹配

还有很多功能介绍proxy,我们会在以后的文章中结合具体的实例去讲解,这里只进行常用的某些功能进行介绍。

实战篇

burp代理设置

首先我们需要设置burp代理,这里我们将端口设置为8888

同时需要选中该复选框

浏览器代理设置

方法一

这里以chrome为例,选择“设置”

找到“代理设置”

选择“连接”中的“局域网”

设置代理地址和端口,要和burp的地址端口相同

访问浏览器可抓取到数据包

方法二

使用浏览器扩展代理工具,避免每次到设置中查找该工具。

选择设置的代理

抓取数据包

同样,可以在history中查看某些数据,当访问的数据包较多时,但我们只需要某些特征时,可进行筛选

筛选数据包

看到既有php,也有js的数据,我们可能只想看php的,可以在filter中选择隐藏某些后缀

同样,可以设置只显示php、asp、jsp等后缀

也可以选择某些特定状态的数据包,例如:status为200等等