测试框架|Burp Suite几个基本工具的使用

前阵子项目上想通过测试工具在网页上模拟返回错误代码 500 来查看页面的错误处理,然后去调查了下 burp suite,看了些基本工具的使用文档。虽然最后证实 burp suite 只能用来处理页面测试应用程序的实际行为和响应,而不是尝试模拟不存在的问题或错误,但还是有所收获,也想和大家分享一下这几个 burp suite 社区版提供的基本工具。

Burp Suite简单介绍

Burp Suite 是一款安全测试工具,具有拦截、代理、扫描、攻击、测试等多种功能,可以对 Web 应用程序进行安全评估、漏洞扫描和渗透测试。Burp Suite 分为社区版、专业版还有企业版。社区版只有最基础的手动安全测试工具(Inspector, Repeater, Sequencer, Comparer),并且不能保存项目文件;专业版可以保存,具有完整的 burp 工具箱,可以自定义攻击,扫描漏洞,设置自动化安全测试等;企业版可以自动进行动态扫描,将扫描集成到 CI/CD 平台等。

Burp Suite的使用

1. 安装

Burp Suite 社区版直接在官网下载软件,打开即用。但是打开后只有 Temporary Project,每次项目文件无法保存。

图片

2. Proxy

Burp Porxy 可以拦截并记录 Burp Browser 和目标服务器之间发送的 Websocket 通信/HTTP 请求和响应。

图片

点击 Open browser 后,会自动启动一个 Chromium 浏览器,就是上面提到的 Burp Browser。官方文档建议将 Burp Suite 和 Burp Browser 调整到你可以同时看到两个窗口以便于后续操作。

在 Intercept is off 的情况下,Burp Browser 只会记录浏览器的历史。当打开 Intercept 时,每一个 http 请求都会被拦截下来,多次点击 Forward,发送被拦截的请求,以及任何后续的请求,直到该页面在 Burp 的浏览器中加载。因为开启 Intercept 后执行的每个 HTTP 请求都需要点击 Forward 才可以继续,所以最好是先不开启 Intercept,执行到自己需要的步骤前一到两步,再打开。

图片

这个拦截步骤也是后续使用 Burp Suite 工具的一个前提。

图片

可以看到在拦截下的请求中,有个 Action 的选项,展开后,可以将当前拦截下的请求发送到几个基础工具中,下面来一一介绍。

Burp Suite 的基础工具

1. Inspector

Inspector 能够快速查看和编辑 HTTP 和 WebSocket 消息的特征。

如上图所示,http 请求被拦截下时,右边有个 Inspector 的区域。一共有 Request Attributes, Request Query Parameters, Request Body Parameters, Request Cookies, Request Headers 五个部分,可以展开查看每个部分的内容,也可以手动更改内容值。例如 Request Attributes 中可以选择使用 HTTP/1 或 HTTP/2 协议,或者更改 HTTP Method 等。其他部分也可以直接对参数值进行修改,修改后直接 Apply changes,应用成功后的修改会变成橙色的,然后点击 Forward 观察页面变化。

图片

2. Repeater

Burp Repeater 能够修改并反复发送一个 HTTP 或 WebSocket 消息。

在拦截到请求时点击 Action -> Send to Repeater, 拦截的请求会被发送到 Repeater 中(可以发送多个请求到 Repeater 中)。在 Repeater 里,可以任意修改请求内容,并且查看对应的响应。

而且,在请求或响应中选择的对应文本,会直接显示在 Inspector 中,伴随显示解码后的文本,解码类型有四种 URL encoding, HTML encoding, Base 64, Base 64 URL。

3. Sequencer

Sequencer 用来生成随机数和伪随机数,可以帮助分析分析 token 样本中的随机性质量。token 可以是 Session tokens, Anti-CSRF tokens, Password reset tokens 等旨在保持不可预测性的令牌。

将包含会话信息的请求转发到 Sequencer 中,Token Location Within Response 会自动识别 token,也可以自己选择想要分析的 token;Live Capture Options 可以控制线程数量和请求的限制速率等。设置好上述两个部分,就可以点击 Start live capture 来分析对应的 token 了。

Burp Suite 会产生另一个页面来分析 token 的指标,有效熵、可靠性等,还有字符级别和位级别的分析。不点击 stop,样本量会无限增长,可以在 Auto analyze 旁边的 next 知道这一阶段的目标样本量。

图片

4. Comparer

Comparer 可以比较识别出请求或响应之间的微妙差异,也可以比较任何两个数据项。

拦截请求后发送给 Comparer,请求会自动复制到 Comparer 的列表上,在上下两个部分分别选择两个不同的选项,并在右下角选择比较单词还是字节。

图片

弹出的弹窗里会自动进行左右两边的对比,像 diff 一样将右边与左边对比修改,删除和增加的各项。

图片

拦截请求只能将请求进行对比,如果想对比响应的话,需要自己复制粘贴到列表中,选择后也可以进行对比。

5. Intruder

Intruder 是一个用于对网络应用程序进行自动化定制攻击的工具。能够配置攻击参数,反复发送相同的 HTTP 请求,根据不同的攻击方式,每次在预定义的位置插入不同的 payload 发送请求。

将请求发送到 Intruder 后,可以选择攻击类型以及要攻击的参数。

图片

然后在 Payloads 的页面中配置要使用的攻击负载类型,添加常见的攻击负载(社区版只能手动添加,专业版可以直接上传文件)。

图片

然后点击 start attack 开始发送请求攻击,并弹出一个对应的响应列表,供使用者查看。

图片

结语

上述五种工具是 Burp Suite 的几个基本工具,使用方法较为简单,但是在做安全测试时测试的角度和测试数据之类的还是需要一定的积累。之前也接触过另一个安全测试工具 OWASP ZAP,使用过类似Repeater 的工具,相比较起来,Burp Suite 的界面更容易上手,更加简单一点,只是社区版功能太少,很多功能只能手动操作。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/238732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot学习笔记(五)

MybatisPlus进阶 1.MybatisPlus一对多查询 2.分页查询 1.MybatisPlus一对多查询 场景:我有一个表,里面填写的是用户的个人信息(姓名,生日,密码,用户ID)。我还有一个表填写的订单信息&#x…

4 postman响应数据解析

上一篇:3 使用postman批量创建测试数据-CSDN博客 在接口测试中,从接口的响应结果中获取数据是很常用的。比如说做断言的时候,需要确保接口返回数据是符合预期的。又比如有些接口的输入参数值,需要用到前面接口运行返回的数据。下面先介绍如何解析响应数据(以json数…

持续集成交付CICD:GitLabCI 封装Python类 并结合 ArgoCD 完成前端项目应用发布

目录 一、实验 1. 环境 2. Python代码实现获取文件 3.Python代码实现创建文件 4.Python代码实现更新文件 5.GitLab更新库文件与运行流水线 6.ArgoCD 完成前端项目应用发布 二、问题 1.Python获取GitLab指定仓库文件报错 2. K8S master节点运行Python代码报错 一、实验…

Java日志框架Logback

logback.xml文件配置(放在src下微服务建议放在resources下) <?xml version"1.0" encoding"UTF-8"?> <configuration><!--定义日志文件的存储地址,使用绝对路径--><property name"LOG_HOME" value"d:/logs"/>…

文件上传——后端

文件上传流程&#xff1a; 创建阿里云OSS&#xff08;对象存储服务&#xff09;的bucket 登录阿里云&#xff0c;并完成实名认证&#xff0c;地址&#xff1a;https://www.aliyun.com/. 可以通过搜索&#xff0c;进入以下页面&#xff1a; 点击立即使用后&#xff1a; 点击…

Goby 漏洞发布| 金蝶 EAS createDataSource 路径 jndiName 参数远程代码执行漏洞

漏洞名称&#xff1a;Apusic 应用服务器 createDataSource 远程代码执行漏洞 English Name&#xff1a;Kingdee EAS createDataSource path jndiName parameter remote code execution vulnerability CVSS core: 9.8 影响资产数&#xff1a; 26513 漏洞描述&#xff1a; 金…

[Linux] MySQL数据表(数据结构)管理

一、数据库 1.1 数据库的基本概念 数据库&#xff08;database&#xff09;是用来组织、存储和管理数据的仓库 数据库管理系统&#xff08;DBMS&#xff09;&#xff1a;是实现对数据有效组织&#xff0c;管理和存取的系统软件。 数据的建立和维护功能&#xff0c;数据定义…

重温经典struts1之自定义类型转换器及注册的两种方式(Servlet,PlugIn)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 前言 Struts的ActionServlet接收用户在浏览器发送的请求&#xff0c;并将用户输入的数据&#xff0c;按照FormBean中定义的数据类型&#xff0c;赋值给FormBean中每个变量&a…

java多线程创建的三种方式

第一种 第二种 第三种&#xff08;想获得线程的执行结果&#xff0c;建议使用这种&#xff09;

STM32的以太网外设+PHY(LAN8720)使用详解(3):PHY寄存器详解

0 工具准备 1.野火 stm32f407霸天虎开发板 2.LAN8720数据手册 3.STM32F4xx中文参考手册1 PHY寄存器 前面介绍到&#xff0c;站管理接口&#xff08;SMI&#xff09;允许应用程序通过2线时钟和数据线访问任意PHY寄存器&#xff0c;同时该接口支持访问最多32个PHY&#xff0c;也…

口碑好的国产主食冻干猫粮品牌有哪些?盘点十大放心猫粮国产名单

冻干猫粮可以帮助猫咪摄入更多的水分&#xff0c;因为冻干是高蛋白质的食物&#xff0c;当猫咪吃了冻干猫粮后&#xff0c;会感到口渴&#xff0c;从而更主动地去喝水。对于那些不喜欢喝水的猫咪&#xff0c;可以将冻干复水后再喂给它们&#xff0c;这样也可以增加猫咪的水分摄…

【toolschain algorithm cpp ros】cpp工厂模式实现--后续填充具体规划算法,控制器版的已填充了算法接入了仿真器

写在前面 现在局势危机&#xff0c;于是想复习一下之前写的设计模式&#xff0c;之前提到&#xff0c;做过一个闭环仿真器&#xff08;借用ros&#xff09;&#xff0c;见https://blog.csdn.net/weixin_46479223/article/details/134864123我的控制器的建立遵循了工厂模式&…

这样使用云渲染又快又省钱

我们都知道使用云渲染是要钱的&#xff0c;而且渲染的时间越久&#xff0c;需要的渲染费越多&#xff0c;哪么如何又快又省钱的拿到效果图呢&#xff1f;用炫云的渲染质量&#xff0c;保准让你使用云渲染渲染效果图又快又省钱。 我们使用炫云的时候&#xff0c;根据自己的需求…

Java自动化测试系列[v1.0.0][常见页面操作处理]

[控制滚动] package util; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement;public class ScrollBarUtil {/*** 控制滚动条向下拉到底* param driver 浏览器驱动*/public static void toBottom…

houdini 常用节点

雾化 撒点 减面 点连线 trace 节点 labs skelete 图片转模型 齿轮制作 polyextrude point to point connect primuv

sqli-labs第二十九三十

Less-29&#xff08;GET - Error based - IMPIDENCE MISMATCH - Having a WAF in front of web application) 手工注入 正常注入的时候发现 此处似乎没有sql注入 但是我上一个说了这个是有waf的 http://192.168.21.149/Less-29/?id1&id0‘union select 1,2,3-- 这里其…

金蝶云星空执行部署包后业务对象会被标记上部署包的开发码

文章目录 金蝶云星空执行部署包后业务对象会被标记上部署包的开发码 金蝶云星空执行部署包后业务对象会被标记上部署包的开发码 会被标记成开发码的业务对象包括以下&#xff1a; 新增的业务对象&#xff0c;扩展的业务对象 --查询二开的元数据打包 FPACKAGEID不为空&#xff…

Mac电脑上soucetree账户更改

在开发公司项目的时候遇到一个问题。soucetree提示需要输入已离职员工-张三的密码。 问题&#xff1a;Mac电脑使用souetree&#xff0c;拉取仓库代码提示需要输入其他员工密码。 解决&#xff1a; Mac电脑 SourceTree去掉之前的账户 1、前往文件路径 /Library/Application Su…

27. 过滤器

Filter(过滤器)简介 Filter 的基本功能是对 Servlet 容器调用 Servlet 的过程进行拦截&#xff0c;从而在 Servlet 进行响应处理的前后实现一些特殊的功能。在 Servlet API 中定义了三个接口类来开供开发人员编写 Filter 程序&#xff1a;Filter, FilterChain, FilterConfigFi…

关于redis单线程和IO多路复用的理解

首先&#xff0c;Redis是一个高性能的分布式缓存中间件。其复杂性不言而喻&#xff0c;对于Redis整体而言肯定不是只有一个线程。 我们常说的Redis 是单线程&#xff0c;主要是指 Redis 在网络 IO和键值对读写是采用一个线程来完成的&#xff0c;这也是 Redis 对外提供键值存储…