Burpsuite基础使用

news/2025/2/24 5:44:47/文章来源:https://www.cnblogs.com/lyb666/p/18714819

Burpsuite使用教程

目标靶场 :pikachu

系统 :win11

(一)暴力破解

1.基于表单的暴力破解

什么是暴力破解?

Burte Force(暴力破解)概述

​ “暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。

​ 理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括:

​ 1.是否要求用户设置复杂的密码;
​ 2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
​ 3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
​ 4.是否采用了双因素认证;
​ ...等等。
​ 千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!

​ 你可以通过“BurteForce”对应的测试栏目,来进一步的了解该漏洞。

image-20240831162917986

我们这里随便输入账户和密码

打开burpsuite抓包 将post请求发送到repeater

image-20240831163436899

可以看到我们的账号密码

在响应里面正常返回了一个200

认证因素也只有账号和密码 没有对应的验证码 可以基本上确认这个借口可以进行暴力破解

将post请求发送到intrude

image-20240831163810633

攻击选项里面有4种类型,这里简要说明一下

Sniper:逻辑是依次对我们设置的动态变量去替换 先把账号设置的变量替换完后在设置密码设置的变量

Battering ram :是同事把所有的动态变量都给替再进行重换

Pitchfork: 多出个payload 每设置个几个动态变量都有几个payload 就要有几个字典

每个payload都要设置自己的字典 每个payload的字典会一一替换变量

Cluster bomb :会把payload2的变量依次和payload1里面的变量去进行一次组合 再会用payload2的第二个密码跟payload1再依次去组合

image-20240831164559362

clear将默认的变量给他清除掉 选中我们的账号和密码 添加一个动态变量 将攻击模式选为 Cluster bomb

image-20240831171308893

点击option

image-20240831170625619

当用户登陆失败的时候出现提示 username or password is not exists

在options里面滑到 grep—match

image-20240831170759111

clear清除所有的 add上username or password is not exists我们刚才添加的这个字符串 也就是说我们所有响应的数据包里面响应的内容可以flag出来 如果没有被flag出来的数据就有可能是我们破解成功的数据包

在点击payloads

image-20240831165701867

将poload type选为 Runtime file 意思是从字典导入

将paload set 选1

在select file 导入我们自己写好的字典 我这里已经提前写好一个字典 username.txt

然后在paload set 选2 导入我们自己提前写好的字典

image-20240831170225608

选好后点击右上角的攻击

image-20240831171353962

可以看到没有被flag被拍到了第一个 也就是这个响应是没有被flag出来的 然后我们将账号密码拿到pikachu上面去试试

image-20240831171615565 image-20240831171702242

登陆成功

以上就是pikachu基于表单的暴力破解

(二)暴力破解

验证码绕过 -on client相关问题

image-20240901113451930

​ 当你打开一个登录页面 向后台发送了请求 当后台接受到这个请求之后 它会调用一个验证码的函数去生成验证码 验证码返回前端的时候一定是一个图片 同时它会将后台的算法生产的这个验证码的值以session的形式存到它的缓存里面去 用户在页面登录认证的时候输入账号密码 输入验证码 它会把验证码的这个文本信息提交到后台 后台会对前端提交进来的这个验证码跟session里面的验证码做一个对比 如果是正确就是可以验证成功 然后后台这个时候一旦5这个验证码被验证过后 就会把验证码销毁一样 验证码都是一次一用 那同时如果前端只是请求的这个验证码后台也会对这个验证码设置一个超时时间 比如默认是一分钟 前端重新刷新页面的时候后端也会重新生产验证码 并且在验证码算法中一般会包含这种随机函数

image-20240901114434151

image-20240901134022976

在页面上右点鼠标查看源代码 在最下面发现有这么一段的JavaScript的源代码

然后我们可以发现所有的验证逻辑实际上直接在JavaScript里面实现的

var code定义了一个变量 写了一个函数fuction createcode 去生成验证码 在用fuction validate函数去验证这个验证码 当你onlink点一下验证码图片 它就会调用JavaScript那个函数去生产一个新的验证码

也就是有说验证码的生成和验证实际上都是在前端完成的

···c

<script language="javascript" type="text/javascript">var code; //在全局 定义验证码function createCode() {code = "";var codeLength = 5;//验证码的长度var checkCode = document.getElementById("checkCode");var selectChar = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');//所有候选组成验证码的字符,当然也可以用中文的for (var i = 0; i < codeLength; i++) {var charIndex = Math.floor(Math.random() * 36);code += selectChar[charIndex];}//alert(code);if (checkCode) {checkCode.className = "code";checkCode.value = code;}}function validate() {var inputCode = document.querySelector('#bf_client .vcode').value;if (inputCode.length <= 0) {alert("请输入验证码!");return false;} else if (inputCode != code) {alert("验证码输入错误!");createCode();//刷新验证码return false;}else {return true;}}createCode();
</script>

为了测试验证码是否有效果 手动添加一个随机验证码

image-20240901140345712

提示用户名或者密码不存在 但是并没有说验证码错误那我们基本上就要可以确认这个验证码虽然说提交了但是后台并没有验证 那说明验证码是在端通过JavaScript来实现的

将数据包发送到intruder去

image-20240901140832416

添加变量 修改攻击模式 跟之前的一样了

image-20240901140932118

payload1 跟2选择字典 然后攻击

image-20240901141107133

可以看到这个15的返回长度不一样

把账号密码去pikachu进行输入

image-20240901141226577

image-20240901141240255

登录成功

(三)暴力破解

不安全验证码 -on server

打开pikachu

image-20240901144430218

这里随便 输入一个账号密码 在burpsuite抓包

image-20240901144407183

显示验证码不能为空 说明后端是进行了验证了的

接下来验证一下这个验证码有没有过期的问题

返回页面刷新一个新的验证码 根据我们之间说的 去刷新这个验证码的时候后台会返回一个新的验证码 同时会在session里面把这个验证码的字符串存下来 对你提交的验证码去进行验证

image-20240901145028567

返回前端将新的验证码给记下来 然后返回burpsuite

image-20240901145359940

在里输入我们正确的验证码 因为账号密码是错误的验证码 安装逻辑会给我返回显示账号密码错误的提示

image-20240901145430619

为了验证码是否能被重复利用 这里将账号和密码修改一下

image-20240901145602811

还是提示用户或者密码错误 那么这个验证码就是可以被重复利用的

根据我们之前的操作进行暴力破解

image-20240901145732430

clear清楚选中我们的账号密码添加变量

image-20240901145834020

image-20240901145906649

准备好我们事先写的字典 点击右上角的start attack

image-20240901150024017

打开pikachu将admin 和123456输入

image-20240901150128877

登录成功

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

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

相关文章

docker compose容器化部署 sonarqube+jenkins+dingtalk钉钉插件通知+中文插件 代码检测。超详细

docker hub : https://hub.docker.com/_/sonarqube 钉钉插件:https://github.com/xbmlz/sonar-dingtalk-plugin 中文包:https://github.com/xuhuisheng/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-8.9sonar客户端:https://docs.sonarsource.com/sonarqube-server/la…

[AI/GPT] 硅基流动(SiliconFlow) : AI大模型时代的基础设施

概述:硅基流动(SilliconFlow) 简介 🌸硅基流动(SiliconFlow) 是一家专注于人工智能(AI)基础设施的公司,致力于通过技术创新降低大模型(如生成式AI和大语言模型)的部署和推理成本,推动人工通用智能(AGI)的普及。 https://siliconflow.cn/zh-cn/ 以下是关于硅基流动…

010 组件生命周期

每个组件在被创建时都要经过一系列的初始化过程一一例如,需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会运行一些叫做生命周期的钩子函数,这给了用户在不同阶段添加自己的代码的机会为了方便记忆,我们可以将他们分类:创建时:…

03网络基础day02

ip及子网掩码 私有ip地址范围 A类:10.0.0.0-10.255.255.255 子网掩码是8位 B类:172.16.0.0-172.31.255.255 子网掩码是16位 C类:192.168.0.0-192.168.255.255ip不够解决方案 方式一:部分ip划分出来用于内部ip, 一个公网ip可以让上千万设备共享上网 NAT 网络地址…

Jmeter Http request Get 请求的时候 response body 为空

Jmeter response body 为空已知原因: 1、Content encoding 的默认编码对应不上,需要手动设置编码为:UTF-8; 2、请求设置 Header,且设置有请求数据类型为 Content-Type: application/json 注:原因2是GET,如果通过 Nginx 代理处理请求后再到达目标服务器,则可以避免该情况…

c# log4net 日志的使用

C# log4net 日志参考:C# log4net的使用。输出的日志内容添加文件名和行号。_log4net 发布 输出的文件中行号-CSDN博客1.NuGet增加log4net 2.增加log4net.config文件 log4net.config的内容如下,没有的功能可以搜一搜,设置 log4net.config的属性 复制到输出目录 设为始终复制&…

超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方DeepSeek接入),建议收藏!

在当今数字化时代,AI编程助手已成为提升开发效率的利器。DeepSeek作为一款强大的AI模型,凭借其出色的性能和开源免费的优势,成为许多开发者的首选。今天,就让我们一起探索如何将DeepSeek接入PyCharm,实现高效、智能的AI编程。 1、为什么选择DeepSeek + PyCharm? DeepSeek…

解锁互动新体验:专业互动小游戏开发,打造你的专属爆款

在移动互联网时代,互动小游戏以其轻量化、强社交、易传播的特性,成为了品牌营销、用户引流、产品推广的利器。无论是电商平台的趣味促销,还是教育机构的寓教于乐,亦或是线下门店的引流获客,互动小游戏都能以其独特的魅力,吸引用户参与,提升品牌影响力。 然而,想要打造一…

超详细,DeepSeep 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方DeepSeek接入),建议收藏!

在当今数字化时代,AI编程助手已成为提升开发效率的利器。DeepSeek作为一款强大的AI模型,凭借其出色的性能和开源免费的优势,成为许多开发者的首选。今天,就让我们一起探索如何将DeepSeek接入PyCharm,实现高效、智能的AI编程。 1、为什么选择DeepSeek + PyCharm? DeepSeek…

机台设备数据采集方案:打破数据孤岛,实现数据资源有效配置!

机台设备上的数据种类丰富多样,机台设备数据采集对于监测机台状态、优化生产过程以及进行故障诊断等都具有重要意义,可以提高设备的运行效率和生产效益。对于汽车零部件企业而言,会涉及以下机台设备数据采集需求: 1、生产设备: 冲压设备:如压力机等,用于金属板材的冲压成…

天猫精灵功能开发

AliGenie技能应用平台 消息中心咨询答疑文档中心zhwnw新人必看教程新人必看教程10分钟带你创建一个技能应用,4堂课掌握语音技能开发能力快速实现欢迎回复需要时间:10min实现单轮、多轮对话需要时间:20min切换意图,参数传递需要时间:15min开发屏显页面需要时间:20min课程介…

2025年企业数字化转型必备工具——文件摆渡系统深度解析

在数字化转型的过程中,企业需要优化各类信息流转、提升协作效率、确保数据安全以及合规性。文件摆渡系统作为一个核心工具,承担着文件传输、共享、管理和归档等多重任务,对于企业的信息化建设至关重要。本文将深度解析文件摆渡系统如何助力企业数字化转型。一、文件摆渡系统…