pikachu靶场上的暴力破解

news2024/10/7 20:25:07

目录

一、暴力破解

基于表单的暴力破解

验证码绕过(on server) 

​编辑 验证码绕过(on client)

​编辑 token防爆破?

 二、暴力破解的相关知识点

(1)Burte Force(暴力破解)概述

(2)验证码的绕过原理

【验证码机制原理】

【客户端可能存在的安全问题】 

验证码固定

无条件不刷新

有条件不刷新 

(3) token防爆破的知识点

Token 是如何工作的? 

最优解法


一、暴力破解

基于表单的暴力破解

后端php代码审计:pikachu靶场第一关-密码爆破之基于表单的暴力破解(附代码审计)-CSDN博客

1.对于不知道用户名和密码的,进行暴力破解,首先抓包,发送到Intruder

2.设置到用户名和密码的字典,设置好就进行暴力破解 

 3.暴力破解出来为admin/123456,注册成功

验证码绕过(on server) 

后端php代码审计:pikachu靶场第二关-密码爆破之验证码绕过(on server)(附代码审计)_pikachu验证码绕过on server-CSDN博客

1.发现输入错误的验证码,并且每次提交注册请求后验证码都会刷新;输入正确的验证码,错误的用户名和密码,会说用户名和密码不存在;只要输入错误的验证码,就会输出验证码错误

2.进行抓包,发送到repeater,观察到不管你怎么修改用户名和密码,验证码始终是有效的

3.抓包发送到Intruter,重复上题的操作,得到用户名和密码

 验证码绕过(on client)

后端php代码审计:pikachu靶场第三关-密码爆破之验证码绕过(on client)(附代码审计)_pikachu验证码绕过on client代码审计-CSDN博客

1.用户名,密码,验证码任意输入,直接出现前端弹框,很可能是前端验证

2.在浏览器中禁用js,验证码进行选填,像上面的题一样,爆破得出用户名和密码

 token防爆破?

后端php代码审计:pikachu靶场第四关-密码爆破之token防爆破?(附代码审计)_利用验证token值的方式对pikachu靶场中的csrf(post)漏洞进行防御。-CSDN博客

1.抓包进行观察,发现存在token值,修改其值,发现会回显这个值错误

2.token放爆破,攻击方式选择Pitchfork,这里只能爆破两个参数,所以要已知用户名或密码时才能使用,变量设置在password和token(在知道用户名的情况下)

3.将Payload-1(用户名/密码)设置为正常字典,第一个密码选择Simple list,然后再选择字典

4.第二个token的值选择Recursive grep,Payload-2(Token)设置为递归提取即可

5.然后在Options中找到Redlrections设置为Always,原因:如果不点上这个就不会打开 HTML 包的 body 部分,因为 Token 值是存储在 body 的 hidden 部分,那么也就不会自动获取 Token 值,我们也就不能绕过它进行暴力破解了

6.在Resource Pool中进行下图的设置,将线程设置为 1,否则多线程爆破后 Token 会无法被匹配到(对于每一个包返回来的token值都是不一样的,所以我们只能选择单线程进行攻击)

7.Recursive_Grep模式不支持多线程攻击,选择Grep-Extract,意思是用于提取响应消息中的有用信息,点击Add,然后点击Refetch response,在下面出现的数据里找到token,复制 

8.将复制的token的值粘贴到first request ,这里的token值是之前复制的token值

 9.进行攻击,比较长度,得到密码,最后注册成功

 二、暴力破解的相关知识点

(1)Burte Force(暴力破解)概述

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

web安全中的暴力破解俗称穷举法或者枚举法,就是利用尝试所有的可能性最终获取正确的结果的一种攻击方式。

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

1.是否要求用户设置复杂的密码;
2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
4.是否采用了双因素认证;
...等等。

(2)验证码的绕过原理

资料参考:渗透测试-验证码的爆破与绕过_验证码绕过-CSDN博客

【验证码机制原理】

客户端发起请求->服务端响应并创建一个新的SessionID同时生成随机验证码,将验证码和SessionID一并返回给客户端->客户端提交验证码连同SessionID给服务端->服务端验证验证码同时销毁当前会话,返回给客户端结果。

【客户端可能存在的安全问题】 

1、有的网站验证码由本地js生成仅仅在本地用js验证。可以在本地禁用js,用burp把验证字段删除。
2、有的网站把验证码输出到客户端html中,送到客户端Cookie或response headers。
3、有些网站默认不显示验证码,而是在输入错误一定数量之后才需要验证验证码,开发人员可能在Cookie中写入一个标记loginErr,用来记录错误数量,则可以不更新Cookie中的loginErr值反复提交,验证码就不会出现。

验证码固定

导致验证码不刷新(固定)的原因是:登录密码错误之后,session中的值没有更新,验证码不变。验证码不刷新通常有以下两种情况:无条件不刷新、有条件不刷新。

无条件不刷新

无条件不刷新是指在某一时间段内,无论登录失败多少次,只要不刷新页面,就可以无限次的使用同一个验证码来对一个或多个用户帐号进行暴力猜解。换句话说,攻击者可以在同一个会话下,在获得第一个验证码后,后面不再主动触发验证码生成页面,并且一直使用第一个验证码就可循环进行后面的表单操作,从而绕过了验证码的屏障作用,对登录进行暴力猜解。

有条件不刷新 

有条件不刷新多见于如下情况:登录失败之后,系统会打开一个新页面或者弹出一个新的警告窗口,提示用户登录失败,点击确定后返回登录界面且验证码刷新。这种情况下,只要我们不关闭新窗口或弹窗,配合使用Burpsuite的intruder模块就可以进行暴力破解了。 

(3) token防爆破的知识点

Token是什么?

所谓的Token,其实就是服务端生成的一串加密字符串、以作客户端进行请求的一个“令牌”。当用户第一次使用账号密码成功进行登录后,服务器便生成一个Token及Token失效时间并将此返回给客户端,若成功登陆,以后客户端只需在有效时间内带上这个Token前来请求数据即可,无需再次带上用户名和密码。并且后端每收到一次请求就会产生一个新的token,同时把token连同响应信息一起发给前端。

那么Token都可以解决哪些问题呢?

1.Token具有随机性、不可预测性、时效性、无状态、跨域等特点。

2.Token完全由应用管理,所以它可以避开同源策略

3.Token可以避免CSRF攻击

4.Token可以是无状态的,可以在多个服务间共享

5.Token是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回Token给前端。前端可以在每次请求的时候带上Token证明自己的合法地位。如果这个Token在服务端持久化(比如存入数据库),那它就是一个永久的身份令牌。

Token 是如何工作的? 

1.通过 Burp Suite 进行抓包,我们可以发现请求中包含了一条 Token 字段

2.发现具体的 Token 数值后,我们在前端页面发现此值,发现 Token 在前端的变量名叫做Value

3.通过查询后端 PHP 代码,找到对应的后端代码

4.通过变量名token我们还可以发现后端的登录逻辑判断代码

5.回看前端,Token 所属的HTML <input>标签类型是hidden,相当于每次随着表单(POST)隐形提交了 Token 值,只不过这个值在前端默认是不可见的,若我们将标签类型改为text则可以看到 Token 值也出现在前端

HTML input 标签类型属性 text:默认,定义单行输入字段,用户可在其中输入文本,默认是 20个字符 hidden:定义隐藏输入字段 

 6.到此,整个 Token 的运行逻辑就已清晰,当首次请求时,会收到一条包含 Token 的响应包,当我们在同一页面进行第二次请求时,则会提交上一次的 Token 并获取下一次请求所需的 Token,并以此原理不断循环下去

资料参考:https://zhuanlan.zhihu.com/p/671570750

(36.2)【Token漏洞专题】Token的原理、认证过程、爆破过程_recursive grep payloads cannot be used with multip-CSDN博客

最优解法

既然我们已经知道当前的响应会包含上一次所需的 Token,那我们就可以使用工具对上一次响应包中的 Token 进行提取,放入下一次的请求当中,形成一个递归的循环,至此理论成立,以上题为例

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

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

相关文章

debian系统apt 国内安装源

debian系统apt 国内安装源&#xff1a; 国内阿里镜像源&#xff1a; deb http://mirrors.aliyun.com/debian stable main non-free contrib deb-src http://mirrors.aliyun.com/debian stable main non-free contrib 打开源文件位置&#xff1a;/etc/apt/sources.list,原来的内…

证照之星 XE版软件最新版下载及详细安装教程

简介&#xff1a; 全新的证照之星XE版本内置500证件照规格&#xff0c;100套服装素材&#xff0c;新增AI算法&#xff0c;一键处理更智能&#xff0c;轻松将生活照变成证件照。 ​安 装 包 获 取 地 址&#xff1a; 证照之星 XE版&#xff1a;​​https://souurl.cn/4fuRmg​…

学习笔记——路由网络基础——路由度量值

3、路由度量值 (1)基本概念 路由度量值表示到达这条路由所指目的地址的代价。度量值数值越小越优先&#xff0c;度量值最小路由将会被添加到路由表中。度量值很多时候被称为开销(Cost)。 路由度量(路由开销 cost)对于同一个路由协议&#xff0c;当到达某目标网段有多条路由供…

海洋CMS admin_notify.php 远程代码执行漏洞复现(CVE-2024-30565)

0x01 产品简介 海洋CMS是一套专为不同需求的站长而设计的内容管理系统,灵活、方便、人性化设计、简单易用是最大的特色,可快速建立一个海量内容的专业网站。海洋CMS基于PHP+MySql技术开发,完全开源免费 、无任何加密代码。 0x02 漏洞概述 海洋CMS admin_notify.php 接口处…

Android本地Gradle Plugin的创建以及使用

有些Gradle插件&#xff0c;不想放到云端&#xff0c;本来也只是小功能而已&#xff0c;还放到云端&#xff0c;每次修改和发布都很麻烦&#xff0c;这种需求的插件放到本地还是合适的。 1.直接放到build.gradle 2.新建一个module 取名叫buildSrc(注意&#xff0c;一定要叫这个…

ATA-2088高压放大器在细胞分选中的作用是什么

细胞分选是生物医学研究中至关重要的一步&#xff0c;它允许科学家们从混合细胞群中分离出特定类型的细胞&#xff0c;以进行进一步的研究。高压放大器在细胞分选中发挥着关键作用&#xff0c;其主要任务是处理和放大细胞产生的电信号&#xff0c;使得这些信号能够被准确地检测…

全国产的香橙派 AIpro AI开发硬件,对标nvidia jetson硬件。太香了

1. 导语 国产化AI芯片的发展不仅反映了中国在信息技术产业的战略布局&#xff0c;更是对全球科技竞争格局的积极回应。随着人工智能与大数据技术的飞速进步&#xff0c;国内对高性能计算的需求日益增长&#xff0c;促使科研机构与高新技术企业加大对AI芯片研发的投入&#xff0…

vscode编辑器警告, jsconfig.json 第一行红色波浪线

问题 配置文件jsconfig.json 第一行总是有个&#xff0c;红色下划线 项目是可以正常运行的&#xff0c;就是编辑器有个红色提示看着不顺眼。 开启检查 解决红色波浪线问题

算法体系-20 第二十节暴力递归到动态规划

前言 动态规划模型从尝试暴力递归到傻缓存到动态规划 四种模型和体系班两种模型一共六种模型 0.1 从左往右模型 0.2 范围讨论模型范围尝试模型 &#xff08;这种模型特别在乎讨论开头如何如何 结尾如何如何&#xff09; 玩家博弈问题&#xff0c;玩家玩纸牌只能那左或者右 0.3 …

MapperStruct拷贝数据的介绍和使用

1、前言 在java 编程中&#xff0c;对象直接拷贝是很常用的方法&#xff0c;最初我们常用spring提供的拷贝工具BeanUtils的copyProperties方法完成对象之间属性的拷贝。但是它有几个明显的如下缺点 1、属性类型不一致导致摸一个属性值拷贝失败 2、通一个字段使用基本类型和包…

2024年高考志愿填报,计算机相关专业还值得选择吗?

一、引言 在科技日新月异的今天&#xff0c;计算机专业无疑是推动社会进步和经济发展的重要力量。从最初的简单数据处理到如今的云计算、大数据、人工智能等前沿技术&#xff0c;计算机专业的发展速度之快、影响之广&#xff0c;已经深入到我们生活的方方面面。本文将详细分析…

Qt程序打包成单个exe文件

文章目录 0. 准备工作1. 使用 windeployqt 提取必要的动态链接库和资源文件1.1 操作步骤1.2 补充 2. 使用 Enigma Virtual Box将文件夹打包成单个exe2.1 操作步骤 0. 准备工作 Qt程序打包用到的工具有&#xff1a; windeployqt &#xff1a;安装Qt时自带Enigma Virtual Box 下…

AUTOSAR学习

文章目录 前言1. 什么是autosar&#xff1f;1.1 AP&#xff08;自适应平台autosar&#xff09;1.2 CP&#xff08;经典平台autosar)1.3 我的疑问 2. 为什么会有autosar3.autosar的架构3.1 CP的架构3.1.1 应用软件层3.1.2 运行时环境3.1.3 基础软件层 3.2 AP的架构 4. 参考资料 …

电商数据都有哪些种类?对电商数据进行分析有什么重要意义?

在数字化时代&#xff0c;电商行业的蓬勃发展带来了前所未有的数据积累。每一笔交易、每一次点击、每一条用户反馈都构成了电商数据的庞大体系&#xff0c;成为企业最宝贵的资产之一。电商数据分析不仅能够帮助企业洞察消费者行为&#xff0c;优化产品和服务&#xff0c;还能在…

一键Mock工具(Http协议接口调试工具)

1. 前言 在进行Web开发时&#xff0c;前端小伙伴通常是和后端开发人员同步进行项目开发&#xff0c;经常会遇到后端开发人员接口还没开发完&#xff0c;也没有可以调试的环境&#xff0c;只能按照接口文档进行“脑回路开发”&#xff0c;无法调用真实的接口&#xff0c;也无法…

IP隔离是什么,你了解多少?

一、IP地址隔离的概念和原理 当我们谈论 IP 地址隔离时&#xff0c;我们实际上是在讨论一种网络安全策略&#xff0c;旨在通过技术手段将网络划分为不同的区域或子网&#xff0c;每个区域或子网都有自己独特的 IP 地址范围。这种划分使网络管理员可以更精细地控制哪些设备或用…

Vue3中子组件挂载问题,父组件修改子组件值的问题

1&#xff0c;首先在父组件导入子组件 挂载 2&#xff0c;传递值给子组件 3&#xff0c;子组件

记录清除挖矿病毒 solrd 过程

1、发现solrd病毒 端午节期间&#xff0c;kafka 服务器被黑客攻击了&#xff0c;植入了挖矿病毒 solrd&#xff0c;这个病毒很聪明&#xff0c;内存&#xff0c;CPU并没有异常升高&#xff0c;以致于上班第一天完全没有察觉。 上班第一天 正常登录服务器查看 flink ,消费kafka…

【JavaScript】简单数据类型 与 复杂数据类型 ① ( 堆内存和栈内存 | 简单数据类型内存存储 | 复杂数据类型内存存储 )

文章目录 一、简单数据类型1、简单数据类型简介2、简单数据类型 null 空类型的特殊性 二、复杂数据类型三、堆内存和栈内存 一、简单数据类型 1、简单数据类型简介 JavaScript 中 , " 简单数据类型 “ 又称为 ” 基本数据类型 " 或 " 值类型 " , 与 简单数…

AI口语练习软件的技术难点

实现AI口语练习软件是一项复杂的任务&#xff0c;需要攻克多项技术难点。随着人工智能技术的不断发展&#xff0c;AI口语练习软件将变得更加智能和人性化&#xff0c;为用户提供更加有效的口语练习体验。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0…