burpsuite 设置https_BurpSuite 插件使用指导书

BurpSuite 使用指导书

1 说明

介绍:Burp Suite带有一个代理(proxy),通过默认端口8080上运行,使用这个代理,我们可以截获并修改从客户端到web应用程序的数据包;版本测试中,经常用proxy的拦截功能,测试参数或操作是否为服务端校验;

2 安装包

参见地址(rTools):

ftp://10.88.67.169:2021/Safe/SafeScan/BurpSuite/

3 安装前提条件

BurpSuite基于JAVA开发,安装前请先确保计算机已经安装JRE环境。在“开始”—“运行——cmd”,命令提示符中输入“java -version”,若出现类似下图信息即证明已安装JRE环境。

4 配置方法

4.1 浏览器配置

对ie或者chorme浏览器

点击“高级(C)”,进入代理服务器设置。要拦截网段的小网IP,点击确定,配置完成。

4.2 BurpSuite配置方

5 使用举例

5.1 以上软件和浏览器配置完成后,即可进行拦截操作

比如说登录系统账户名和密码的拦截

拦截前关闭状态

需要拦截时打开

在登录时输入用户名密码,点击登录

拦截到的用户名和密码,点击登录,即把用户名和密码发送到服务器端进行校验

6 BurpSuite拦截过滤功能使用技巧

使用burpsuite进行拦截时,经常会遇到以下两种情况:

1, 点击某个按钮后,burpsuite拦截到多个HTTP报文,经常需要花费很多精力从其中找到有用的报文;

2, 部分HTTP报文是实现特定功能的“心跳报文”,这些报文每隔几秒就会出现一次,拦截到的这类“心跳报文”对于我们也是无用信息,同样需要花费很多精力去处理。

以上两种情况,其实利用BurpSuite的过滤功能都可以解决,方法如下:

方法一:设置白名单只拦截需要的报文

方法二:设置黑名单不拦截“心跳报文”

方法一:设置白名单只拦截需要的报文

客户端的按钮每次按下一般都会向服务器端发送一个HTTP请求报文,我们可以根据该报文的URI来进行白名单过滤。从研发处获得这些HTTP请求报文的URI,也可以使用burpsuite自己来找到。

以NetEco1000U为例,登录客户端进入“用户管理”页面,同时开启burpsuite拦截功能。点击NetEco

burpsuite 设置https_BurpSuite 插件使用指导书_第1张图片

按钮,同时观察burpsuite拦截到的HTTP请求报文,如下所示

可知该HTTP请求报文的URI为:https://10.61.69.247:8443/securitys!toRegister.action

进入BurpSuite的Proxy-Options页面,设置白名单从而只拦截该报文,步骤如下:

1) 勾选“Intercept requests based on the following rules”,表示按照下面的规则进行拦截;

2) 点击Add,增加一条拦截规则;

3) Boolean operator选择And,Match type选择Any header,Match relationship选择Match,Match condition里输入“toRegister”(该报文的关键字),点击Ok按钮;

4) Proxy-Options页面往下拉,继续设置HTTP响应报文拦截:

5) 勾选“Intercept requests based on the following rules”,表示按照下面的规则进行拦截;

6) 点击Add,增加一条拦截规则;

7) Boolean operator选择And,Match type选择Any header,Match relationship选择In Request Match,Match condition里输入“refreshTip”(表1中第一条报文的关键字)

8) 点击ok按钮,即完成白名单的添加;

9) 随意操作NetEco客户端,即可发现Burpsuite只拦截到点击

按钮时的请求报文和响应报文,其他报文都过滤出去了。

7 Burp Suite XSS测试插件使用指导书

1 概述

术语

反射型XSS:这种XSS,跨站代码一般存在于某一个链接中,当攻击者访问这样的连接时,跨站代码就被执行,这类跨站代码一般不会存储在服务器上面

存储型XSS:这种XSS用起来比较方便,跨站代码会存储在服务器上面数据库中,换句话就是可以持久的进行攻击,亦称持久型XSS

DOM型XSS:这是由于客户端脚本自身的解析不正确导致的安全问题

各种编码:HTML编码、javascirpt 编码 、jsunicode编码、URL编码、BASE64编码

示例:如把‘<’编码

简介

开发这个工具的背景是,目前分析内网实验室报告,发现检查出来很多XSS问题,包括存储型和反射型,主要都是通过手工检测出来的,主要是由于未对服务端返回的用户输入做HTML编码,也没有做任何过滤特使字符的操作,有的只是做了简单的过滤(如过滤掉<、>等),但是用户输入如果各种转码后,又可以达到攻击目的。所以做了这个插件。

该插件主要用于检查反射型XSS,对Burp Suite本身自带的XSS检查规则的补充,实现原理,就是在burp suite识别出来的URL的每个注入点(一般会把“=”号后面的内容识别为一个注入点)上,填入我们整理的规则(补充规则大部分从内网实验室报的问题单中提取),实施攻击,检查返回报文中,是否对规则做了HTML编码后返回。

对于存储型XSS,当前建议手工根据测试,也可以通过appscan工具辅助扫描排查。本插件在后续预研成果过的基础上也会对存储型XSS检查提供更好的支持。

2 限制及注意事项

1. XSS测试插件与既有的Scan功能一起使用,所以基本请求日志以及扫描进度会也显示在Scanner的Scan queue中。

2. 扫描结果也显示在Scanner的Results中,挂在[XSS TEST]节点下。异常描述信息、异常背景、和建议修改方案偏简陋,如需更详细化,需要产品线提供进一步信息显示需求。

3. 由于注入点是依托于工具本身的Scan功能去检测的,所以请根据实际业务需求勾选[Scanner]->[Options]->[Attack Insertion Points]。

4. 只执行XSS测试时,请将[Scanner]->[Options]->[Active Scanning Areas]中的勾选全部去除(除了XSS本身需要打钩)。

5. 如果执行Scan功能时,不想执行本插件,请将该插件去除。(去掉[Extender]中该插件的勾选)

3 插件导入

该插件由以下两个包组成:

Ø xssTest.jar

Ø CustomLogger.jar(已开发日志插件,可以记录扫描的所有请求和响应报文)

将xssTest.jar导入到Burp Suite中。

同样的把CustomLogger.jar 插件也导入到Burp中

4 插件使用

4.1 设置XSS测试规则

1、插件会自动加载整理注入点XSS的注入脚本,可以对XSS脚本导入、删除、清空、新增功能。

2、XSS脚本库可以在后续实践中,随着对XSS检查的更进一步理解,做新增修改和优化动作。

4.2 确认Scanner配置

1、根据实际业务需求勾选[Scanner]->[Options]->[Attack Insertion Points]。

※如果只需检查Body部分的参数,所以只选中[Body parameter values]

2、只选[Scanner]->[Options]->[Active Scanning Areas]中XSS相关选项(工具本身的XSS检查)。

4.3 执行XSS测试

1、选择测试对象,点击右键,选择[Actively scan this branch]

XSS测试将扫描该测试对象下的所有请求。

2、扫描进度和结果集成在工具本身自带的scanner工具中(扫描结果中XSS TEST节点下的issue即为插件扫描出来的问题)

3、扫描的所有请求日志,可以在日志插件中查看

方法二:设置黑名单不拦截“心跳报文”

这里的“心跳报文”指客户端不进行任何点击操作也会发送出去的报文,包括页面请求刷新、判断会话失效等报文。我们可以从研发处获得这些http报文的URI,也可以使用burpsuite自己来找到。

以NetEco1000U为例,登录客户端进入“监控”页面,开启burpsuite拦截功能。客户端不进行任何操作,同时观察burpsuite拦截到的HTTP请求报文,可以发现客户端不断发送这8条HTTP请求报文:

表1

把“心跳报文”都整理出来后,进入BurpSuite的Proxy-Options页面,设置黑名单从而不拦截这些“心跳报文”:

10) 勾选“Intercept requests based on the following rules”,表示按照下面的规则进行拦截;

11) 点击Add,增加一条拦截规则;

12) Boolean operator选择And,Match type选择Any header,Match relationship选择Does not Match,Match condition里输入“refreshTip”(表1中第一条报文的关键字)

13) 点击ok按钮,即完成第一条黑名单的添加;

14) 按照2,3,4步,继续完成其他5条黑名单的添加,如下图所示:

15) Proxy-Options页面往下拉,继续设置HTTP响应报文拦截:

16) 勾选“Intercept requests based on the following rules”,表示按照下面的规则进行拦截;

17) 点击Add,增加一条拦截规则;

18) Boolean operator选择And,Match type选择Any header,Match relationship选择In Request Does not Match,Match condition里输入“refreshTip”(表1中第一条报文的关键字)

19) 点击ok按钮,即完成第一条黑名单的添加;

20) 按照8,9,10步,继续完成其他5条黑名单的添加.

21) 再次回到burpsuite的Proxy-Intercept页面,即可发现加入黑名单的“心跳报文”都被过滤掉了。

备注:

1,白名单和黑名单可以配合使用,如不拦截带有某几个关键字的一些URI,同时拦截带有某几个关键字的另一些URI;

2,拦截规则可参考大家Notes邮箱的拦截设置,每个rule和其他rule的关系有And和Or;Matchtype中有各种类型,包括主机名,IP地址,cookie信息,可以根据拦截特征进行多样化选择。

3,Match condition里输入要拦截的关键字,尽量使用相对某个类型特殊唯一的关键字。

你可能感兴趣的:(burpsuite,设置https)