02Burp的工作模式

简介: 【1月更文挑战第5天】给单位零基础小伙伴准备的网安入门教程,本教程是基于蚁景实验室搭建,基于自建虚拟机搭建需自行准备前置环境,02Burp的工作模式,请遵守网络安全法!请遵守网络安全法!请遵守网络安全法!请勿破坏公共网络网络安全!

预备知识

1.Burp的工作模式

在没有burp之前,客户端使用浏览器直接与服务器进行通信。有了burp之后,burp在客户端与服务器之间充当代理。这样,浏览器发送给服务器的请求就会被burp进行捕获,而burp和wireshark这种审计类工具相比,其强大之处在于不仅可以做审计工作,更可以对数据包进行修改并发送出去。使用了burp的结构如下图所示。

image.png

2.暴力破解

一般使用暴力破解都有两种原因:
1.对这个漏洞的测试,人是可以完成的,即可穷举。
2.人可以完成,但是代价太大,或者太浪费时间。
正是出于这样的问题,一些软件的出现帮助人完成了这些测试,这就是暴力破解的真正好处。在业界曾经有这样的一种看法,对于暴力破解的使用都不屑一顾,因为大家觉得技术含量太低。但是,从实际的情况来看,因为用户使用弱口令情况太普遍,导致很多漏洞使用暴力破解都可以轻松拿下。
暴力破解,最有价值的地方是在对字典的构造上,这是一门技术,需要长期的经验积累。

实验目的

通过该实验掌握burp的配置方法和相关模块的使用方法,对一个虚拟网站使用burp进行暴力破解来使网站建设者从攻击者的角度去分析和避免问题,以此加强网站安全。在此郑重声明,本教程只做教学目的,严禁使用本教程对线上网站进行破坏攻击。

实验步骤

Burp是个非常强大的web分析工具。burp在浏览器和服务器之间充当了一个双向代理。这样,就可以把用户或者服务器通信过程中产生的数据包给截获下来,让专业人员去分析。Burp以友好的界面和强大的功能获得了安全界一致好评。
本次实验,需要小伙伴们完成的任务有:
1.配置burp和浏览器代理,使burp能够正常运行
2.学会使用burp中的compare模块
3.学会使用burp中的 repeat模块
4.学会使用burp中的intruder模块
5.为了使小伙伴们更好的get这些技能,我们提供了一个存在暴力破解隐患的网站,会指导小伙伴们完成此项试验。

步骤一:配置burp和设置ie代理

在预备知识中我们了解到,burp在浏览器(客户端)是以代理的方式存在。因此,如果想要我们发送的包被burp截断,就需要双方协商好一个监听端口。

首先,双击打开桌面的burp进入主界面。
1.设置burp监听端口:
选择proxy(代理),进入之后选择options。我们看到在Proxy listeners处burp为我们默认添加了一个本地8080端口处的监听项。

image.png

当然,你完全可以自拟一个新的监听端口,在左侧点击ADD即可设置

image.png

接下来我们需要配置浏览器的代理项。
这里以系统自带的ie为例(chrome和firefox用户可以使用代理插件进行设置)
使用win+R键打开命令窗口,输入inetcpl.cpl进入ie设置。
在连接选项卡中,选择局域网设置

image.png

这时候,我们就建立了基本配置。
我们来测试一下:在burp中打开intercept is on。用浏览器访问:10.1.1.163/crack,我们会在burp中看到

image.png

这表明我们已经成功的截获了来自浏览器的请求。
点击forward就可以把这个请求发送给服务器,服务器会将结果返回给浏览器中,并将响应在burp中记录下来。Drop会将这个包丢掉,即不会发送到服务器端。

步骤二:熟悉comparer,repeater,intruder模块

1.compare模块

compare模块可以将不同的数据包(无论是请求包还是响应包)进行比较。
首先,我们添加一条请求到compare模块去。
在已经截取的数据包上面右键,选择send to comparer

image.png

这时候,我们会看到在comparer模块,上下两个界面中同时多出来了一条记录。

image.png

使用同样的方法,我们再为comparer模块添加另外的一条记录。

image.png

我们打算使用1和2进行对比,在两个视图中选择1和2(顺序无所谓),然后点击右下角的compare word(bytes是指文件按照字节流来进行比对)。

image.png

从图中我们可以看到,窗口标题提示了我们两个文件有多少处不同。左下角的图例告诉了我们右侧和左侧相比,哪些是添加的,哪些是修改的,哪些是删除的。非常直观。

2.repeater模块

有时候我们需要向服务器发送多次相同的请求来测试服务器的响应。这里,我们只需要将burp截取到的请求通过右键send to repeater就可以在repeater中进行操作了。

image.png

进入到repeater之后,点击Go按钮,右侧就会返回服务器的响应。
Go的次数没有限制,点击多少次Go,burp就会把当前的请求页向服务器发送多少次。
使用repeater的目的是进行重放攻击测试,看服务器是否会对重放测试做出反应。

image.png

3.intruder模块

这个模块是burp非常强势的地方,也正是我们这节课中说到的暴力破解主要使用的模块。
同样的,在已经截获的请求页上右键,选择send to intruder
进入intruder模块。我们会看到四个选项卡,分别是target,positions,payloads,options
Target主要是设置暴力破解访问的host地址和对应的端口号

image.png

Positions设置是选择我们要暴力破解的位置。在默认情况下,burp会自动将所有的变量都勾选上。实际操作中,我们往往是针对单一点,选择clear$,此时所有默认的爆破点都已消失。

用鼠标选中需要暴力破解的变量的值。然后右侧选择add$,这样我们就添加了一个爆破点,这个爆破点的payload位置是在两个$之间的部分。

image.png

Payloads设置

选择怎样的字典或者payload,是这个模块要做的事情。Payload type下拉列表框为我们提供了常用的payload 类型,视情况选择即可。

image.png

如果你有合适的字典,在选择了payload type为simple list后,接下来你就可以在payload options中选择你要加载的字典文件,点击load即可。

image.png

有时候我们需要对payload进行二次处理,比如md5加密啊,base64加密啊之类的,burp当然也考虑到了这一点。在payload processing中集成了一些常见的算法。

点击add,在弹出的窗口中就可以根据需要选择了。

image.png

Options中有关于其他细节的设置,比如攻击时使用的线程数,关于攻击的一些存储设置之类。这里就不再赘述。

步骤三:实战爆破

粗心的hetian很喜欢在合天教学系统进行演练,但是他只记得自己的用户名是hetian,却忘掉了自己的密码,唯一记得的是密码是50-100之间的某个数。你能帮他找到密码吗?

访问http://10.1.1.163/crack/,这是一个登录界面。

image.png

使用hetian登录,密码任意,完成表单后提交。这时候burp会截取我们的请求。

image.png

在该请求页上右键选择send to repeater,我们来进行重放测试。点击go,右侧返回服务器的响应。多次go之后发现,服务器返回的长度和内容都没有发生变化,都会提示sorry。

image.png

也就是说,服务器对多次测试并没有加以限制,因此我们可以使用暴力破解了。
为了再次验证,我们在登陆界面再次输入一个不同的密码。在我们将两次请求的响应使用comparer去比对一下。(在proxy中选择子选项卡HTTP History,选择方法为post的两个历史记录,点击每一条post记录,下方会看到不同的post数据时,这应该就是我们的两次不同密码的请求记录,右键选择send to comparer(response))

image.png

从图中我们可以发现,经过对两次不同的请求返回结果进行对比,burp为我们在左上角标出了2项不同,但都是体现在时间上,其余都相同。所以可以使用暴力破解。

image.png

进入到intruder之后,先点击clear,然后选中我们刚才填写的pas字段值,点击add。这样,就确定了爆破点是pas位置。

image.png

打开payload选项卡,payload type选择数字。

image.png

选择数字之后,我们填写数字范围。因为是已经暗示了密码范围,所以我们选择50到100。顺序生成,每步加1(step设置)

image.png

开始攻击。

image.png

这时候我们看到了攻击测试界面。我们重点关注payload和length,这里的length表示的是服务器的响应长度。
从理论上来分析,登陆成功和登陆失败,返回的长度应该不同,这能方便我们找出正确密码。右下角的进度条显示了我们的进度。

image.png

一段时间过后,我们测试结束(请大家耐心等待,实际上在实体机上测试非常快)。这时候在length上单击,可以对length排序。

image.png

我们发现,在测试的50个payload中,payload为69的返回值不同与其他payload返回值。我们怀疑69就是答案。我们来观察一下。
在payload为69的request上双击,进入后选择response。

image.png

Yes,you catch the flag.

相关文章
|
监控 BI Sentinel
十分钟搞懂阿里Sentinel核心源码
本文深入解析了Sentinel限流功能的实现,基于2.0.0-alpha2-SNAPSHOT版本。文章从数据统计、核心结构到具体案例,详细讲解了Sentinel如何通过责任链模式串联不同Slot,实现流量控制、系统保护等功能。重点分析了StatisticNode、ArrayMetric等关键类的实现原理,以及ContextUtil、SphU等核心组件的源码逻辑。同时探讨了滑动窗口机制、并发计数器和BlockException处理等内容,帮助读者全面理解Sentinel的内部工作机制。
1227 86
十分钟搞懂阿里Sentinel核心源码
|
Linux iOS开发 MacOS
CrossOver23中文永久免费版MacOS平台快速运行Windows软件
CrossOver是一款可以让Mac和Linux系统中正常运行Windows软件的应用程序。它不像虚拟机一样需要安装Windows系统之后才可以安装Windows的应用程序,这一方式给大多数用户带来了方便。通过CrossOver实现跨平台的文件复制粘贴,使Mac/Linux系统与Windows应用良好结合。CrossOver下载:http://t.csdn.cn/Ixdq6
5457 0
CrossOver23中文永久免费版MacOS平台快速运行Windows软件
|
10月前
|
存储 自然语言处理 算法
Adaptive-k 检索:RAG 系统中自适应上下文长度选择的新方法
本文介绍 Adaptive-k 检索技术,这是一种通过相似性分布分析动态确定最优上下文规模的即插即用方法,该技术在显著降低 token 消耗的同时实现了检索增强生成系统的性能提升。
215 1
Adaptive-k 检索:RAG 系统中自适应上下文长度选择的新方法
|
C# 开发者 Windows
WPF遇上Office:一场关于Word与Excel自动化操作的技术盛宴,从环境搭建到代码实战,看WPF如何玩转文档处理的那些事儿
【8月更文挑战第31天】Windows Presentation Foundation (WPF) 是 .NET Framework 的重要组件,以其强大的图形界面和灵活的数据绑定功能著称。本文通过具体示例代码,介绍如何在 WPF 应用中实现 Word 和 Excel 文档的自动化操作,包括文档的读取、编辑和保存等。首先创建 WPF 项目并设计用户界面,然后在 `MainWindow.xaml.cs` 中编写逻辑代码,利用 `Microsoft.Office.Interop` 命名空间实现 Office 文档的自动化处理。文章还提供了注意事项,帮助开发者避免常见问题。
1226 0
|
缓存 运维 关系型数据库
数据库容灾 | MySQL MGR与阿里云PolarDB-X Paxos的深度对比
经过深入的技术剖析与性能对比,PolarDB-X DN凭借其自研的X-Paxos协议和一系列优化设计,在性能、正确性、可用性及资源开销等方面展现出对MySQL MGR的多项优势,但MGR在MySQL生态体系内也占据重要地位,但需要考虑备库宕机抖动、跨机房容灾性能波动、稳定性等各种情况,因此如果想用好MGR,必须配备专业的技术和运维团队的支持。 在面对大规模、高并发、高可用性需求时,PolarDB-X存储引擎以其独特的技术优势和优异的性能表现,相比于MGR在开箱即用的场景下,PolarDB-X基于DN的集中式(标准版)在功能和性能都做到了很好的平衡,成为了极具竞争力的数据库解决方案。
|
编解码 前端开发 API
使用 DPR 进行响应式设计
【10月更文挑战第24天】我们可以利用 DPR 来实现更精细、更自适应的响应式设计,为用户提供更好的视觉体验,无论他们使用的是什么设备。
|
机器学习/深度学习 人工智能 监控
【AI 现况分析】AI大模型在信用评分和风险管理中具体的应用
【1月更文挑战第26天】【AI 现况分析】AI大模型在信用评分和风险管理中具体的应用
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点展示了如何使用 Kotlin 实现 AES-256 的加密和解密,提供了详细的代码示例。
679 2
|
缓存 Java API
API接口性能优化管理
在数字化时代,API性能优化对于提升软件效率和用户体验至关重要。本文介绍了多种优化方法:配置优化包括调整JVM参数等;代码层面减少重复调用并批量操作数据库;池化技术如线程池和HTTP连接池能有效利用资源;数据库优化通过索引提高查询速度;异步处理则使主流程业务不受阻塞;缓存策略如Redis缓存减少数据库访问;可观测性工具如日志平台和APM帮助监控性能。综合运用这些方法,可根据业务需求持续调整优化,显著提升API性能及用户体验。
|
数据采集 搜索推荐 大数据
基于大数据的市场分析与消费者行为研究
【6月更文挑战第5天】大数据在市场分析与消费者行为研究中扮演关键角色。通过海量数据分析,企业能更全面、精准地了解消费者偏好和市场趋势。Python等工具帮助处理数据,揭示购买习惯,支持个性化营销策略。同时,大数据使深入理解消费者心理、决策过程成为可能,助力企业优化产品,提升客户满意度和忠诚度。在这个数据驱动的时代,大数据是洞悉市场和消费者的魔法力量。
785 2