BurpSuite主要功能模块

BurpSuite其实是由多个不同的小工具(功能模块)组成的集合,工具与工具之间可以联动

主要功能模块:

  • Target:显示目标目录结构的-个功能
  • Proxy:拦截HTTP/HTTPS的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许拦截、查看修改在两个方向上的原始数据流
  • Intruder: -一个定制的高度可配置的工具,对Web应用程序进行自动化攻击,如:枚举标识符、收集有用的数据以及使用fuzzing技术探测常规漏洞
  • Repeater: -个靠手动操作来触发单独的HTTP请求,并分析应用程序响应的工具
  • Sequencer:用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具
  • Decoder:进行手动执行或对应用程序数据者智能解码编码的工具
  • Comparer:通常是通过一些相关的请 求和响应得到两项数据的一-个可视化的"差异”

BurpSuite功能模块——Proxy

Proxy以拦截代理的方式,拦截所有通过代理的HTTP和HTTPS协议的流量。通过拦截,BurpSuite以中间人的方式, 可以对客户端请求数据、服务端返回做各种处理,以达到安全评估测试的目的。

BurpSuite功能模块——Interuder

Intruder在原始请求数据的基础.上,通过修改各种请求参数,以获取不同的请求应答。每一-次请求中,Intruder通常 会携带-一个或多个有效攻击载荷,在不同的位置进行攻击重放,通过应答数据的比对分析来获得需要的特征数据。

BurpSuite功能模块——Repeater

作为BurpSuite中一款手工验证HTTP消息的测试工具,Repeater通常用于多次重放请求响应和手工修改请求消息及修改后对服务器端响应的消息分析。

Repeater模块的功能及应用场景

作为BurpSuite中一款手工验证HTTP消息的测试工具,Repeater通常用于 多次重放请求响应和手工修改请求消息及修改后对服务器端响应的消息分析,如:

  • 修改请求参数,验证输入的漏洞
  • 修改请求参数,验证逻辑越权
  • 从拦截历史记录中,捕获特征性的请求消息进行请求重放

BurpSuite功能模块——Sequencer

作为BurpSuite中一款用于检测数据样本随机性质量的工具,Sequencer通常用于检测访问令牌是否可预测、密码重置令牌是否可预测等场景,通过Sequencer的数据样本分析,能很好地降低这些关键数据被伪造的风险。 的数据样本分析,能很好地降低这些关键数据被伪造的风险。

BurpSuite功能模块——Decoder

作为BurpSuite中一款编码解码工具,Decoder的功能比较简单,它能对原始数据进行各种编码格式和散列的转换。

BurpSuite功能模块——Comparer

Comparer在BurpSuite中主要提供一个可视化的差异比对功能,来对比分析两次数据之间的区别。

BurpSuite Proxy模块简单使用

Proxy模块应用实例1- -HTTP报文抓取与修改

步骤1:设置BurpSuite代理服务端口

  • 选项卡Proxy-> Options-> Proxy Listeners
  • 注意: Tomcat在本机的默认端口是8080,BurpSuite proxy 在本机的默认监听端口也是8080,如果同时打开就会导致端口冲突。因此,建议将BurpSuite proxy的代理端口改为其他不常用端口,如10000。

步骤2:设置FireFox浏览器代理端口

菜单项“工具”-> "选项”-> "常规" ->“网络设置”,点击“设置"按钮,在弹出的"连接设置”对话框中选择“手动代理配置”,"HTTP代理”处填写127.0.0.1,“端口” 处填写10000 (跟BurpSuite代理服务端口值保持一致),同时勾选“也将此代理用于FTP和HTTPS”,设置完成后点击"确定”按钮。

 也可以使用插件Proxy Switchy Omega来实现此功能

步骤3:抓取HTTP请求报文

  • (1)首先关闭BurpSuite的拦截功能,具体方法为:选项卡Proxy-> Intercept,设置Intercept is off。
  • (2)利用FireF ox浏览器访问DVWA网站,正常显示认证页面。

步骤3:抓取HTTP请求报文

  • (3)开启BurpSuite的拦截功能,具体方法为:选项卡Proxy-> Intercept, 设置Intercept is on.
  • (4)在DVWA网站认证页面输入登录用户名和密码(此处可随便输入任意字符),并点击Login按钮,观察到BurpSuite已经抓到了一个HTTP请求报文。

步骤4:修改HTTP请求报文

将BurpSuite抓到的HTTP请求报文的POST表单中的数据进行修改,设置正确的用户名(admin) 和密码(password) ,修改完成后多次点击"Forward" 按钮发送此HTTP请求报文,观察到DVWA网站认证通过,成功登录。

Proxy模块应用实例2-- HTTPS报文抓取

步骤1: 设置BurpSuite代理服务端口。

步骤2:设置FireFox浏览器代理端口。

步骤3:下载并安装浏览器CA证书

(1)利用FireFox浏览器访问http://burp或127.0.0.1:8090, 点击页面右上侧的"CA Certificate" 处下载CA证书(cacert.der)

步骤3:下载并安装浏览器CA证书

(2)在FireFox浏览器上选择菜单项“工具”->. "选项" ->“隐私与安全”->”证
书",点击“查看证书”按钮,在弹出的“证书管理器”对话框中选择“证书颁发机
构”标签页,点击“导入”按钮,将刚刚下载的cacert.der导入,导入时注意勾选
信任由此证书颁发机构来标识网站”。

步骤4: HTTPS报文抓取

  • (1) 开启BurpSuite的拦截功能,具体方法为:选项卡Proxy->Intercept,设置Intercept is on,
  • (2)重启FireFox浏览器,并访问https://www.baidu.com,观察到BurpSuite已经抓到了一个HTTPS请求报文。

BurpSuite插件

BurpSuite在软件中提供了支持第3三方拓展插件的功能,方便使用者编写自己的自定义插件或从插件商店中安装拓展插件。
BurpSuite扩展程序以多种方式支持自定义BurpSuite的行为,例如:

  • 修改HTTP请求和响应
  • 自定义UI
  • 添加自定义扫描程序检查以及访问关键运行时信息,包括代理历史记录,目标站点地图和扫描程序问题等

Extender模块主要由四个子模块组成

1. Extensions:扩展
2.BApp Store:应用程序商店
3.APIs: 扩展API
4.Options:选项

常用的Burpsuite插件

Logger++: BurpSuite 自带的日志只记录了HTTP Proxy的请求,无法查看Repeater. Intruder等 模块的历史记录,Logger+ +增加了这方面的功能,可以方便地筛选查看各模块历史记录。
CSRF Token Tracker:用于渗透测试过程中CSRF Token的自动更新。
XSS Validator:用于增强BurpSuite对XSS漏洞的检测。
CO2:包含多个小工具如SQLMapper、User Generator. Prettier JS、ASCII Payload Processo、 Masher等功能等。
Heartbleed:经典的Heartbleed心脏出血漏洞。
J2EEScan:该插件能够检测JBoss、Tomcat、 Weblogic. Oracle应用服务
器、Jetty、Apache Axis、JBoss SEAM、Java Server Faces、Apache
谷、Wicket、Grails、 Apache Struts以及多种CVE漏洞。

BurpSuite Intruder模块

Intruder模块的工作原理

Intruder在原始请求数据的基础上,通过修改各种请求参数,以获取不同的请求应答。每一次请求中,Intruder通 常会携带一个或多个有效攻击载荷(payload),在不同的位置进行攻击重放,通过应答数据的比对分析来获得需要的特征数据。

Intruder模块的常见应用场景

  • 标识符枚举: Web应用程序经常使用标识符来引用用户、账户、资产等数据信息,例如用户名、密码、文件ID等。
  • 提取有用的数据:在某些场景下,需要通过简单标识符提取一些其他的数据。比如通过用户的个人空间id,获取所有用户在个人空间标准的昵称和年龄。
  • 模糊测试:很多输入型的漏洞,如SQL注入、XSS和文件路径遍历等,可以通过请求参数提交各种测试字符串,并分析错误消息和其他异常情况,来对应用程序进行检测。由于应用程序的复杂性,手动执行这个测试是一一个耗时且繁琐的过程。这样的场景,可以设置payload,通过Intruder自动化地对Web应用程序进行模糊测试。

Intrider模块——Target子选项卡

用于设置攻击目标

Intrider模块——Positions子选项卡

用于设置攻击位置和攻击模式

payload的位置

  • [Add 6] :在当前光标的位置添加一一个Payload位置标志
  • [Clear 5] :清除所有Payload位置标志或者清除选中的Payload位置标志
  • [Auto 6] :对消息内容中可能需要标志的参数做-一个猜测,标志为Payload位置,自动设置完之后再做人工的选择,确定哪些位置是需要传入Payload的。
  • [Refresh] :刷新消息内容中带有颜色的部分。
  • [Clear] :清除消息编辑器中所有内容。

攻击模式

  • 狙击手模式(Sniper) :单payload位置,单payload集合,简单替换,若有多个payload位置,则会在每一个位置 上遍历- -次payload集合
  • 攻城锤模式(Battering ram) :多payload位置,单payload集合, 在多个位置上使用相同的payload
  • 草叉模式(Pitchfork) :多payload位置,多payload集合, 在每个payload位置.上遍历对应的payload集合,攻击次数为最短的payload集合的元素个数
  • 集束炸弹模式(Cluster bomb) :多payload位置,多payload集合,以多个payload集合的笛卡尔积作为攻击序列。如第一个位置的payload集合是{A,B},第二格位置的payload集合是{C,D},则攻击序列为{<A,C>,<A,D>,<B,C>.<B,D>}

Intruder模块——Payloads子选项卡

用于设置攻击载荷

payload类型一一简单列表(Simple list)

最简单的payload类型, 配置-一个字符串列表作为payload,也可以手工添加字符串列表或从文件加载字符串列表。

payload类型——运行时文件(Runtime file)

指定文件,作为相对应payload位置上的payload列表。

payload类型——自定义迭代器(Custom iterator)

它共有8个占位,每个占位可以定义一个简单列表,最终所使用的payload为每个占位的简单列表的笛卡儿积。

例如:在HTTP Basic认证中,用户名密码的格式是[username]:[password],利用Intruder进行爆破,只需要在第-一个占位中加入username列表,在第二个占位中输入”:.",在第三个占位中输入password列表,就能产生如图的效果。

payload类型——字符串替换(Character substitution)

对预定义字符串进行”枚举替换“后产生新的payload。

payload类型- -一递归提取( Recursive grep)

  • 从服务器端提取有效数据的场景,需要先从服务器的响应中提取数据作为payload,然后替换payload的位置,进行攻击。
  • 递归的配置需要进入Options->Grep-Extract进行配置;使用Recursivegrep模式时,线程数必须为1

其它payload类型

  • 字符块(Character blocks) :使用一个给出的输入字符串,根据指定的设置产生指定大小的字符块,表现形式为生成指定长度的字符串
  • 数字类型(Number) :根据配置,生成-系列的数字作为payload
  • 日期类型(Dates) :根据配置,生成一系列的日期
  • 暴力字典(Brute forcer) :生成包含-一个指定的字符集的所有排列特定长度的有效载荷,通常用于枚举字典的生成
  • 空类型(Null payloads) : 产生的payload其值是一一个空字符串
  • payload复制(Copy other payload) :这种类型的payload是将其他位置的参数复制到payload位置上

Intruder模块一一Options子选项卡

  • 请求消息头设置(Request Headers)
  • 请求引擎设置(Request Engine)
  • 攻击结果设置( Attack Results)
  • 正则匹配(Grep Match)
  • 正则提取(Grep Extract)
  • 正则匹配payload (Grep payloads)
  • 重定向(Redirections)

 Intruder爆破实例

Interuder模块应用实例——DVWA暴力破解(Low级别)

步骤1:进入DVWA,将安全等级调至Low,并进入网站暴力破解模块

步骤2:设置BurpSuite代理服务端口和FireFox浏览器的代理端口

步骤3:开启BurpSuite拦截功能,并在DVWA网站的暴力破解( Brute Force )模块登录处任意输入用户名和密码,点击login按钮, 此时BurpSuite Proxy会拦截到HTTP请求报文。

步骤4,选中拦截到的HTTP请求宝,发送到Intruder

步骤5:进入选项卡Intruder-> Positions,先点击"Clear s"按钮清空默认选择的位置,然后依次选中"username="和"password="后面的值,并点击"Add g"按钮指定爆破位置,同时将Attack type设置为"Cluster bomb"(集束炸弹模式)。

步骤6:进入选项卡Intruder-> Payloads,设置2个payload set (有效载荷集),分别用于爆破用户名(username) 和密码(password)。

步骤7:点击右上方的”Start attack“按钮执行爆破攻击,并观察结果。通过请求报文的长度或应答报文的内容判断,正确用户名和密码为admin/password

DVWA暴力破解High级别

开始实际操作前,整理思路

  • 需要控制的有三个payload位:username、password、user_token
  • 使用正则提取的方法绕过csrf token对爆破的限制

思考

  • 如果对username和password都使用simple list会产生什么结果?
  • 如果想要对username和password集合的笛卡尔积进行测试应该怎么做?

步骤1:开启BurpSuite拦截功能,并在DVWA网站的暴力破解(Brute Force)模块登录处任意输入用户名和密码,点击login按钮,此时BurpSuite Proxy会拦截到HTTP请求报文。与Low级别不同的是,High级别拦截到的HTTP请求报文中含有user_token字段。

步骤2: 选中拦截到HTTP请求包,点击鼠标右键,选择“Send to Intrude“。

步骤3:进入选项卡Intruder->Positions,按如下方式指定爆破位置,同时将Attack type设置为“Pitchfork”(草叉模式) 。

步骤4:进入选项卡Intruder->Payloads,设置2个payload set(有效载荷集):

第一个payload set选择Custom iterator类型。

配置三个占位,其中第一个占位是用户名合集,第三个占位是密码集合

在Payload Encoding处,禁用对=和&进行URL编码。

 第二个payload set选择Recursive grep类型。

步骤5:进入选项卡Intruder->Options

 在Error Handing处将线程数设置为1

新版的burp在这里设置

 在Grep-Extract处设置为递归提取的内容

 在Redirections处设置”Follow Redirections“为”always“(总是重定向)。

步骤6:回到选项卡Intruder->Payloads,在Payload Options处设置初始token值

步骤7:点击右上方的“Start attack”按钮执行爆破攻击,并观察结果。通过请求报文的长度或应答报文的内容判断,正确的用户名和密码为admin/password。

渗透测试工具——BurpSuite相关推荐

  1. 渗透测试工具-burpsuite

    渗透测试工具-burpsuite 1.安装 1.1破解证书 1.2脚本启动 2.抓包 2.1WEB抓包 2.1.1burpsuite代理设置 2.1.2WEB代理设置 2.2手机抓包 2.2.1bur ...

  2. 渗透测试工具Burpsuite的使用(持续更新)

    写在前面 本篇文章将介绍渗透测试常用工具Burpsuite的功能和使用方法,重点在于使用步骤 抓包+暴力破解猜解账号和密码 首先抓取数据包 第二步,将数据包送入Intruder 由下图可以看出,现在有 ...

  3. 渗透测试工具Burpsuite

    学习文档 https://portswigger.net/burp/documentation/desktop/getting-started/download-and-install Burp Su ...

  4. 渗透测试工具Burp Suite详解

    Burp Suite 的安装 Burp Suite是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们高效地完成对Web应用程序的渗透测试和攻击. Burp Suite由Java语言编写,基于Ja ...

  5. 网络安全与渗透测试工具集合

    可能是总结的最全的开源渗透工具! 目录 入门指南 在线靶场 文件上传漏洞靶场 导航 payload 子域名枚举 自动爬虫实现的子域名收集工具 waf开源及规则 web应用扫描工具 webshell检测 ...

  6. 【十年网络安全工程师整理】—100渗透测试工具使用方法介绍

    渗透测试是指渗透人员在不同的位置(比如从内网.从外网等位置)利用各种手段对 某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告, 并提交给网络所有者.网络所有者根据渗透人员提供 ...

  7. java写渗透工具_常用渗透测试工具使用tips

    (7)sqlmap(python脚本学习下) 经典sql注入工具 (这种针对参数的工具,不知道是不是扫描方式有问题,还是怎么着,怎么才能抓几个包,或者把常用点的包抓出来) 抓几个sqlmap的包 sq ...

  8. 渗透测试实战-BurpSuite 使用入门

    前言 近期笔者在学习 web 渗透测试的相关内容,主要是为了公司之后的安全产品服务.渗透测试本身在学习过程中还是很有意思的,有一种学习到了之前想学但是没学的黑客技术的感觉,并且对笔者已掌握的许多知识做 ...

  9. 安全测试工具BurpSuite

    安全测试工具BurpSuite 一.BurpSuite的重要特征 二.BurpSuite的应用场景 三.BurpSuite实操 一.开启代理工具 二.配置代理: 三.开启抓取内容 四.尝试篡改请求 五 ...

  10. 【小白渗透入门系列】P5 自动化渗透测试工具

    大家好! 我是小黄,很高兴又跟大家见面啦 ! 拒绝水文,从我做起 !!!! 未经允许,禁止转载 ,违者必究!!!! 本实验仅适用于学习和测试 ,严禁违法操作 ! ! ! 今天更新的是: P5 自动化渗 ...

最新文章

  1. 研发协作Scrum看板工具项目管理团队协通敏捷开发平台
  2. LDA-math-MCMC 和 Gibbs Sampling
  3. 关于JVM和Dalvik的区别
  4. js 正则是否包含某些字符串_我从Vue源码中学到的一些JS编程技巧
  5. 微软将推出桌面虚拟化软件
  6. JavaScript函数作用域
  7. apache2 + django
  8. SQL群集多实例卸载、安装
  9. Atitit sumdoc index 2019 v6 t56 .docx Atitit sumdoc index s99 目录 1. Zip ver 1 1.1. C:\Users\Adminis
  10. JAVA项目之图书管理系统
  11. mshtml 解析html c,使用MSHTML解析HTML代码
  12. 中控考勤机管理员破解/清除/密码/恢复出厂设置方法
  13. 记事本查看HTML源代码,查看源代码有时候用记事本打开有时候用浏览器打开
  14. 推荐几种可以直接翻译PDF英文文献的方法
  15. 有关rand(),srand()产生随机数学习总结
  16. 蓝桥杯练习题之数列特征
  17. 利用GitHub Actions每天自动从Pixiv爬虫日推图片并存放到仓库
  18. 计算方法 | 绪论和插值(详细例题)
  19. html鉴赏古诗词代码,教你如何鉴赏古诗词
  20. 圆珠笔芯为什么那么细

热门文章

  1. dbgView的使用
  2. github 安装浏览器导航插件Octotree
  3. ios 原子属性atomic加锁性能与锁对比, 不推荐的原因
  4. 计算机机房检查内容,IDC数据中心机房日常运维巡检工作的正确姿势
  5. 软件工程----项目的进度安排
  6. ApiPost、Postman及并发测试工具Jmeter、PostJson接口测试工具,设置参数传递。
  7. django下载或者导出文件
  8. 【JavaScript】运算符及其优先级
  9. oracle trap,配置SNMP trap
  10. 沙盘模拟软件_我院学生参加第十六届全国大学生“新道杯”沙盘模拟经营大赛喜获佳绩...