渗透学习笔记(十一)Burp Suite 总结

声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec

前言

前面我们学习了powershell的基础,其实我们在学习的时候,不可能一篇文章或者一个视频就可以把所有知识学到的,在了解到这个方面的知识后,多去查资料,最好的阅读官方文档,在使用中学习是最好的。这一章学习一个非常重要的工具 burp suite 这个是我们学习渗透测试必不可少的神器。在学习这个工具的时候,我们要先知道它能干什么,应用在哪些方面,我一直有一个理念就是,我们学习计算机知识的时候最怕的就是完全不知道有某个知识的存在,但是只要我们意识到这个知识的存在后,这个知识也就不难了,因为我们现在可以有很多的资料来帮助我们进行学习,只要愿意去学,掌握的东西也就越多。

Burp Suite 总结

一、简介

Burp Suite 是一款极为强大的、用于Web应用程序安全测试的集成平台,由PortSwigger Web Security开发,在渗透测试领域以及CTF(Capture The Flag)竞赛中占据着举足轻重的地位。它能够无缝对接Web应用测试的各个环节,从最初的信息收集,到深入的漏洞探测,再到最后的漏洞利用与验证,为安全从业者和爱好者提供一站式解决方案,支持跨平台使用,包括Windows、Linux、macOS 操作系统。

二、安装与配置

  • 下载:从PortSwigger官方网站https://portswigger.net/获取Burp Suite安装包,根据操作系统版本选择对应的安装文件。安装过程较为常规,遵循安装向导提示逐步操作即可完成安装。注意,BP分为社区版和专业版,另外还有企业版,其中社区版是免费的,在kali linux中也默认安装了,可以直接使用。

  • 证书配置(针对 HTTPS):由于Burp作为中间人代理拦截HTTPS流量,需在客户端浏览器安装Burp的CA证书。在Burp Suite中,通过“Proxy” -> “Options” -> “CA Certificate”导出证书,随后在浏览器(如Chrome、Firefox)的证书管理模块导入该证书,完成后才能顺利抓取和查看HTTPS请求与响应,避免浏览器因证书不信任抛出错误。也可以设置好代理后,访问http://burp下载证书
    在这里插入图片描述

  • 代理设置:开启Burp Proxy监听端口,默认是8080端口 。在浏览器网络设置里,将代理服务器设置为本地地址(127.0.0.1),端口为Burp监听的端口,如此一来,浏览器发出的HTTP/HTTPS请求都会流经Burp。
    在这里插入图片描述

三、核心工具深度剖析

Proxy(代理)

在这里插入图片描述

  • 界面布局:主要由“Intercept”、“HTTP history”、“WebSockets history”、“Options”等标签组成。“Intercept”是实时拦截HTTP/HTTPS请求与响应的关键区域,分为请求和响应两个面板,能直观看到数据包的原始状态;“HTTP history”记录所有流经代理的请求,以列表形式呈现,包含URL、请求方法、状态码、响应大小等详细信息。
  • 拦截规则定制:在“Options”标签下的“Intercept Rules”中,可基于域名、IP地址、端口号、请求方法、内容类型等众多元素定制拦截规则。例如,只想拦截特定域名下的POST请求,即可精准设置过滤条件,减少无关流量干扰,提升测试效率,尤其在面对复杂CTF场景,精准拦截特定赛题相关流量很关键。
  • 请求编辑实操:拦截数据包时,在“Intercept”标签下,有“Raw”“Params”“Headers”等不同编辑视图。“Raw”视图展示完整的请求原始文本,适合直接修改HTTP协议语法层面的内容;“Params”视图把请求参数分类呈现,便于更改查询字符串或表单数据;“Headers”视图则专注于请求头编辑,修改诸如User-Agent、Cookie等头信息,以此测试服务器对异常请求头的处理机制。
  • 响应篡改与观察:除了编辑请求,拦截的响应同样能修改。更改响应头、响应体内容后再放行,观察前端页面显示或后续交互流程的变化,用于检测前端渲染逻辑漏洞,比如XSS防护绕过测试。

Spider(爬虫)

在这里插入图片描述

  • 启动与范围设定:在“Target”工具标签下,输入目标URL,点击“Spider”选项卡中的“Start scan”即可开启爬虫。爬虫范围可精准设定,通过“Scope”选项,能定义目标域名、子域名、特定目录,防止爬虫越界访问非授权区域,既保障测试合法性,又避免资源浪费在无关内容上。
  • 智能遍历逻辑:它依据HTML标签中的超链接(标签)、表单提交(标签)、JavaScript脚本中的跳转逻辑等线索,自动递归遍历网站。遇到需要提交表单数据的页面,会尝试用空值、默认值填充表单字段发起请求,确保尽可能全面覆盖网站交互流程,不放过任何可能隐藏漏洞的“暗角”。
  • 实时状态反馈:在爬行过程中,“Spider”选项卡实时更新爬行进度、已访问页面数量、发现的新链接数量等信息。完成爬行后,所有结果汇总在“Target”的“Site map”里,不同图标代表不同类型资源,例如文档、目录、脚本、图片等,同时还标记资源是否成功访问,方便快速定位未探索区域。

Scanner(扫描器)

在这里插入图片描述

  • 扫描引擎原理:内置先进的漏洞检测引擎,采用基于规则、启发式分析以及动态测试等多种技术相结合的方式。针对不同漏洞类型,有特定的测试用例与算法。比如检测SQL注入时,会向目标参数注入特殊SQL语法片段,依据服务器返回的错误信息、响应延迟等特征判断是否存在注入漏洞;检测XSS时,尝试嵌入恶意脚本,看是否能在前端页面成功执行。
  • 扫描配置微调:在“Scanner” -> “Scan Configuration”里,可细致调整扫描策略。从扫描深度(浅度扫描快速筛查常见漏洞,深度扫描不放过任何细微可疑点)、并发请求数量(平衡扫描速度与目标服务器负载),到排除特定URL模式或参数(避免扫描某些易误报区域,像一些第三方API接口),都能按需定制,适配CTF复杂多变的赛题环境与真实业务系统的多样化需求。
  • 报告解读与利用:扫描结束生成的报告内容丰富,在“Scanner” -> “Scan Results”查看。报告按漏洞严重程度(高、中、低)分类,每个漏洞条目详细描述漏洞成因、受影响的具体URL、完整的请求与响应示例,还有专业的修复建议。在渗透测试向开发团队反馈问题,或是CTF赛后复盘总结解题思路时,这份报告都是关键资料。

Intruder(入侵者)

在这里插入图片描述

  • 攻击模式详解

    • Sniper:这是最常用模式,选定一个或多个位置添加攻击标记(§), Intruder会依次将字典里的每个值替换到标记位置,适合对单个参数进行暴力破解,例如CTF中常见的简单密码字段爆破。
    • Battering ram:针对多个选定位置,使用同一个字典,同步进行替换攻击。比如测试多个表单字段都采用相同弱口令的场景,能一次性遍历所有可能组合,提升效率。
    • Pitchfork:为不同选定位置分别匹配不同的字典,按照字典顺序依次取值组合,常用于已知部分字段信息,对其他字段进行针对性枚举,像已知用户名猜密码场景。
    • Cluster bomb:对每个标记位置的所有字典值做笛卡尔积组合,穷尽所有可能搭配,虽耗时久,但最全面,用于复杂未知场景的暴力枚举。
  • 有效载荷管理:支持导入各种格式的字典文件,像纯文本字典、CSV文件等,还能利用内置函数生成动态字典。例如通过“Character blocks”生成特定字符集排列组合、“Numbers”生成数字序列,并且可对载荷进行编码转换、添加前缀后缀等预处理操作,贴合复杂攻击场景需求。
    在这里插入图片描述

  • 结果筛选技巧:攻击完成后,面对海量结果,可从响应状态码(如200正常、302跳转、403禁止、500服务器错误等)、响应长度(长度突变可能暗示攻击成功)、响应时间(明显变长可能是后台数据库查询成功但处理耗时)等维度筛选,精准定位疑似成功的攻击尝试。

Repeater(中继器)

  • 请求传输与编辑:从Proxy历史记录或手动构造好请求后发送至Repeater,在“Repeater”标签下,分为上中下三个区域,上方是请求编辑区,细分为“Request line”(编辑请求行,如修改请求方法、URL路径)、“Request headers”(增删改请求头字段及值)、“Request body”(调整表单数据、JSON数据等主体内容);中间是操作按钮,点击“Go”即可重发请求;下方是响应展示区,实时呈现服务器反馈。
  • 会话保持与切换:Repeater能自动维持会话,若目标应用有登录验证机制,首次登录后的会话信息(如Cookie)会保留,后续重发请求仍处于登录状态。同时,还能保存历史发送记录,方便切换不同版本请求,对比细微修改带来的响应差异,是排查漏洞成因、验证修复效果的得力助手。
    在这里插入图片描述

Decoder(解码器)

在这里插入图片描述

  • 编码转换功能组:涵盖日常Web应用中几乎所有常见编码方式,如Base64、URL编码、Hexadecimal、ASCII码、UTF-8等。在“Decoder”标签输入框输入需要转换的数据,一键选择对应的编码或解码操作,就能快速得到结果。例如遇到Base64加密的参数,解码后可能发现隐藏的SQL查询语句,为漏洞挖掘打开新思路。
  • 多层编码处理:面对复杂的多层嵌套编码场景,只需按顺序依次选择相应解码方式。比如先解Hexadecimal,再解Base64,层层剥离,直至还原出原始数据,这在处理CTF中复杂加密谜题时尤为实用。
  • 散列计算与验证:内置常见哈希算法,如MD5、SHA-1、SHA-256等。输入字符串,即刻算出对应哈希值,用于比对数据库泄露的哈希密码,尝试反向破解密码,或是验证文件完整性。

Comparer(比较器)

在这里插入图片描述

  • 对比流程:从Proxy历史记录、文件导入、剪贴板粘贴等多种渠道获取两份待对比数据,分别放入“Comparer”的左右两个输入框,点击“Compare”按钮。对比结果以高亮形式展示,新增内容显示一种颜色,删除内容显示另一种颜色,修改内容则有特殊标识,能快速定位哪怕细微到一个字符的差异。
  • 应用场景:常用于对比正常请求响应与异常请求响应,找出因攻击尝试引发的服务器响应变化,确认漏洞利用是否成功。比如对比正常登录与注入攻击登录尝试后的响应,看哪里出现关键差别,辅助判断攻击有效性。

四、插件生态系统

在这里插入图片描述

  • 官方插件库:PortSwigger官方维护的插件库,会随着Burp Suite主版本更新而增添新插件。这些插件往往聚焦于提升原生工具的性能、拓展特定漏洞检测范围,例如增强对新兴Web框架漏洞的检测能力,让用户无需等待大版本更新就能享受新功能。
  • 第三方插件社区:活跃的第三方社区贡献了海量插件,从优化工作流程自动化脚本(如自动整理扫描报告格式),到针对特定行业应用的漏洞挖掘插件(如金融行业常见业务逻辑漏洞检测)。下载插件后,在Burp Suite的“Extender”标签下,通过“Browsers”或“Add”按钮导入即可启用。
  • 插件开发指南:对于有编程能力的用户,Burp提供了丰富的API文档,基于Java语言,能开发自定义插件。开发者可以按照自己在CTF竞赛特殊解题思路、或是实际渗透项目中独特测试需求,量身定制插件。

五、实战流程

实战可以看这个教程,这是官方教程,有渐入式的学习教程和视频,还有实战操作教学,可以很快的上手。
https://portswigger.net/burp/documentation/desktop/getting-started

信息收集阶段

  • 站点初步爬取:启动Spider对目标站点全面爬行,结合Proxy手动浏览站点热门页面、登录页面、菜单链接等,捕捉所有流经代理的请求,整理出站点大致架构、关键页面URL、表单入口等信息,尤其留意隐藏目录、未公开接口迹象。
  • 技术栈分析:从请求头(如Server字段透露服务器软件信息)、响应头(如X-Powered-By暗示后端语言)、页面脚本引用(判断前端框架)、错误页面(暴露后端框架报错信息)收集线索,分析目标站点采用的技术栈,为后续漏洞预测提供方向。

漏洞探测阶段

  • 通用扫描:利用Scanner对全站点或重点区域进行初步扫描,快速筛查常见漏洞,记录高风险漏洞点,同时留意误报情况,结合人工经验判断。
  • 针对性探测:针对关键交互点,如登录表单、文件上传处,用Intruder配合专业字典、常见漏洞测试字符串进行深度探测,期间不断回顾Proxy历史记录,查找响应异常但未被扫描器识别的点。

漏洞利用与验证阶段

  • 攻击构造:发现疑似漏洞后,在Repeater里精心构造攻击请求,调整参数、请求头,利用Decoder处理加密相关阻碍,尝试突破防护机制。
  • 效果确认:借助Comparer对比攻击前后响应,从响应状态码、内容变化等多方面确认漏洞利用成功,详细记录利用过程与成果,形成测试报告。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

课设CLion连接Ubuntu14makeQt项目出错解决汇总

在这之前需要注意以下几点: 1、需要 确保CLion能连接Ubuntu14 2、cmakelist.txt文件配置 3、知道部署路径: 问题一:/usr/bin/ld: cannot open output file GreedySnake: Is a directory 否则就会出现make以后应该生成一个可执行文件&…

【GO基础学习】gin的使用

文章目录 模版使用流程参数传递路由分组数据解析和绑定gin中间件 模版使用流程 package mainimport ("net/http""github.com/gin-gonic/gin" )func main() {// 1.创建路由r : gin.Default()// 2.绑定路由规则,执行的函数// gin.Context&#x…

磁编码器(Magnetic Encoder)

磁编码器(Magnetic Encoder)是一种传感器,它通过检测磁性材料的磁场变化来测量旋转或线性位置。编写用于读取磁编码器数据的C语言程序时,您需要根据具体的硬件接口和编码器类型进行调整。以下是一个基本的框架,假设我们…

Qt Creator项目构建配置说明

QT安装好之后,在安装目录的Tools\QtCreator\bin下找到qtcreator.exe文件并双击打开 点击文件-新建文件或项目 选择Qt Widgets Application 设置项目名称以及路径 make工具选择qmake(cmake还未尝试过) 设置主界面对应类的名称、父类&#…

智能边缘计算×软硬件一体化:开启全场景效能革命新征程(企业开发者作品)

边缘智能技术快速迭代,并与行业深度融合。它正重塑产业格局,催生新产品、新体验,带动终端需求增长。为促进边缘智能技术的进步与发展,拓展开发者的思路与能力,挖掘边缘智能应用的创新与潜能,高通技术公司联…

【React】- 跨域PDF预览、下载(改文件名)、打印

我们经常会碰到跨域来方位PDF,同时需要下载、打印的需求,通常由于浏览器的安全策略,可以预览,但是下载和打印可能会受限,这时候怎么办呢? 1.创建一个隐藏的标签 要下载 iframe 中的 PDF 文件,…

Ps:创建数据驱动的图像

在设计实践中,常常需要处理大量内容变化但设计格式统一的任务,例如批量生成名片、工作证、学生证、胸牌、奖状或证书甚至图册。这些工作如果逐一手动制作,不仅耗时费力,还容易出错。 为解决这一问题,Photoshop 提供了强…

Kotlin 协程基础知识总结六 —— 协程 Flow 的综合应用

1、项目描述与搭建 (P92~P94)我们会将几个 Flow 的应用实例放在同一个 Demo 中,主页就是一个 Activity 里包含一个按钮,点击按钮跳转到对应的功能展示页面上。整体架构采用一个 Activity 多个 Fragment 的结构,结合 J…

环,域,体,整区,理想,极大理想,

环: 定义: 加法交换群 乘法半群 分配律 域的定义: 加法交换群 乘法群(去掉0元是交换群) 分配律 Eg:比如整数集合不是域,因为对于乘法来说,去掉0后没有单位元了,但是是环 Eg…

关于Flutter应用国际化语言的设置

目录 1. Locale配置 2. 用户切换/启动自动加载缓存里面的locale 由于最近在开发app国际化设置的时候遇到一些问题,所以做出一些总结。 1. Locale配置 具体的初始化配置可以参考文档:i18n | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 值得…

【游戏开发】游戏生产的标准与工业化,管线Pipeline的概念与设计(项目管理,资产管理)

【游戏开发】游戏生产的标准与工业化,管线Pipeline的概念与设计(项目管理,资产管理) 文章目录 1、管线(Pipeline)是什么?1.1 管线解决什么问题(例子)1.2 一个动画电影的完…

探寻 OneCode 核心优势:MVVM 进阶与前后端协同之魅

在当今的软件开发领域,高效、可维护且功能强大的架构是开发者们不懈追求的目标。OneCode 凭借其独特的增强版 MVVM 架构、前后端一体化特性,以及创新的技术如 OneCode DSM(Domain-Specific Modeling,领域特定建模)、视…

机器人C++开源库The Robotics Library (RL)使用手册(三)

进入VS工程,我们先看看这些功能函数及其依赖库的分布关系: rl命名空间下,主要有八大模块。 搞定VS后将逐个拆解。 1、编译运行 根据报错提示,配置相应错误的库(根据每个人安装位置不同而不同,我的路径如下:) 编译所有,Release版本耗时大约10分钟。 以rlPlan运动…

ISP代理与住宅代理的区别

了解ISP代理 通常称为互联网服务提供商代理,通过服务提供商将用户直接连接到互联网。这些代理利用互联网服务提供商的网络,通常提供广泛的IP地址池。ISP代理通常快速可靠,非常适合一般浏览和常规互联网使用场景。 了解住宅代理 相比之下&a…

【ArcGIS Pro】完整的nc文件整理表格模型构建流程及工具练习数据分享

学术科研啥的要用到很多数据,nc文件融合了时间空间数据是科研重要文件。之前分享过怎样将nc文件处理成栅格后整理成表格。小编的读者还是有跑不通整个流程的,再来做一篇总结篇,也分享下练习数据跟工具,如果还是弄不了的&#xff0…

使用 Navicat 官方免费版来实现从 DAT 文件填充 MySQL 8 表

在异构存储库之间迁移数据(即源数据库和目标数据库来自不同供应商的不同数据库管理系统)会遇到一些挑战。在某些情况下,可以同时连接两个数据库。但有时根本无法实现。面对这样的困境,数据库从业者别无选择,只能从转储…

Three.js滚动画案例精选

今天为大家带来 3 个基于滚动动画的网站 Demo,它们不仅视觉效果惊艳,而且每个案例的源码都已开源在 GitHub,方便大家学习和借鉴! 3D照片墙滚动 通过滚动操作实现 3D 网格效果以及动态过渡动画。这个案例使用了 GSAP 的 SplitTex…

今日收获(C语言)

一.文件的打开 有这样一个结构体,它内部是文件信息区,文件信息区中的变化可以影响到硬盘中的数据。这个结构体的名字是FILE。我们如果想要写代码对文件进行各种操作,就需要一个指向文件信息区的指针,这个指针的类型是FILE*&#…

【C++】九九乘法表编程题详解与多角度对比分析

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目概述题目描述 💯老师的实现方法代码解析优点不足 💯我的实现方法代码解析优点不足 💯实现方法对比💯优化与扩展代码优化…

RK3568 bsp 9 - USB调试记录

文章目录 1、环境介绍2、RK3568 USB资源介绍3、配置目标4、dts配置4.1、USB3.0 OTG4.2、USB2.0 Host 2 和 USB2.0 Host 3 5、kernel配置5.1、USB PHY CONFIG5.2、USB Host CONFIG5.3、USB OTG CONFIG5.4、USB外设CONFIG5.4.1、Mass Storage Class CONFIG5.4.2、USB HID CONFIG …