pikachu靶场上的暴力破解

目录

一、暴力破解

基于表单的暴力破解

验证码绕过(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.rhkb.cn/news/347893.html

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

相关文章

【云原生】Kubernetes----Helm包管理器

目录 引言 一、Helm概述 1.Helm价值概述 2.Helm的基本概念 3.Helm名词介绍 二、安装Helm 1.下载二进制包 2.部署Helm环境 3.添加补全信息 三、使用Helm部署服务 1.创建chart 2.查看文件信息 3.安装chart 4.卸载chart 5.自定义chart服务部署 6.版本升级 7.版本…

宝兰德受邀出席第八届丝绸之路网络安全论坛

近日&#xff0c;2024第八届丝绸之路网络安全论坛在陕西宾馆会议中心成功举办&#xff0c;本次论坛以“汇聚万千智慧 夯实安全堤坝”为主题&#xff0c;由主论坛及密码技术与密评、教育行业网络安全、卫健行业网络安全三个平行分论坛组成&#xff0c;论坛邀请业内专家学者、企业…

【面经总结】 Java基础 - 异常

异常 介绍一下 Java 的异常体系 Java 的异常体系是由 Throwable 类及其子类构成的。 Throwable 包含两个子类&#xff1a;Error&#xff08;错误&#xff09;和 Exception&#xff08;异常&#xff09; Error 表示错误&#xff0c;通常不需要程序员处理&#xff0c;如内存溢…

如何解决访问网站时IP被限制的问题?

在互联网上&#xff0c;用户可能会面临一个令人困扰的问题——当尝试访问某个特定的网站时&#xff0c;却发现自己的IP地址被该网站屏蔽。 IP地址被网站屏蔽是一个相对常见的现象&#xff0c;而导致这种情况的原因多种多样&#xff0c;包括恶意行为、违规访问等。本文将解释IP地…

扩散模型Stable Diffusion

扩散模型构成 Text Encoder(CLIPText) Clip Text为文本编码器。以77 token为输入&#xff0c;输出为77 token 嵌入向量&#xff0c;每个向量有768维度。 Diffusion(UNetScheduler) 在潜在空间中逐步处理扩散信息。以文本嵌入向量和由噪声组成的起始多维数组为输入&#xff0c…

DPI简析

DPI简析 一、DPI与PPI二、硬件设备的DPI2.1打印机DPI2.2显示器DPI2.2.1显示器DPI计算2.2.2显示器分辨率与系统分辨率2.2.3常见分辨率 2.3鼠标DPI 三、图片DPI3.1图片DPI与打印尺寸3.1.1图片打印尺寸计算3.1.2常用的照片尺寸及DPI 3.2图片DPI与屏幕显示3.3修改图片DPI 参考文档 …

有哪些ai聊天推荐?简单分享三款

有哪些ai聊天推荐&#xff1f;在当今数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;聊天软件已经成为我们日常生活中不可或缺的一部分。无论是与朋友、家人还是同事交流&#xff0c;这些智能聊天软件都能为我们提供极大的便利。那么&#xff0c;市面上有哪些值得推…

Vitis HLS 学习笔记--聚合与解聚-AXI主接口

目录 1. 简介 2. 用法及语法 3. 详细解读 4. 总结 1. 简介 在使用 Vitis HLS 工具进行硬件设计时&#xff0c;如果你在接口上使用了结构体&#xff0c;工具会自动把结构体里的所有元素组合成一个整体。就像把一堆零件组装成一个玩具一样。这样做的好处是&#xff0c;数据可…

windows安装nc

前言 我们可能用nc时都要打开虚拟机,但为了方便,我们可以在本机上面安装nc,更加便捷 下载 nc(windows版) 配置 下载之后解压 这个就是我们要的nc了 输入cmd nc 连接就ok了 要是nc64.exe不舒服,你可以复制一下这个nc64.exe,然后再粘贴下来,重命名为nc 配置环境变量 这个…

【Python数据魔术】:揭秘类型奥秘,赋能代码创造

文章目录 &#x1f680;一.运算符&#x1f308;1. 算术运算符&#x1f308;2. 身份运算符&#x1f308;3. 成员运算符⭐4. 增量运算符⭐5. 比较运算符⭐6. 逻辑运算符 &#x1f680;二.可变与不可变&#x1f680;三.字符串转义&#x1f680;四.编码与解码&#x1f4a5;1. 基础使…

OpenCv之简单的人脸识别项目(动态处理页面)

人脸识别 准备九、动态处理页面1.导入所需的包2.设置窗口2.1定义窗口外观和大小2.2设置窗口背景2.2.1设置背景图片2.2.2创建label控件 3.定义视频处理脚本4.定义相机抓取脚本5.定义关闭窗口的函数6.按钮设计6.1视频处理按钮6.2相机抓取按钮6.3返回按钮 7.定义关键函数8.动态处理…

苹果WWDC 2024 带来的 AI 风暴:从生产力工具到个人助理,AI 将如何融入我们的生活?

2024年6月5日&#xff0c;苹果WWDC 2024全球开发者大会如约而至&#xff0c;带来了众多令人兴奋的新功能和新产品。其中&#xff0c;AI 技术的全面融入无疑是最引人注目的亮点。从 iOS、iPadOS 到 macOS&#xff0c;再到 Siri 和开发者工具&#xff0c;苹果正在将 AI 融入到其生…

Linux环境各种软件安装配置

安装Java 官网 找个喜欢的版本 下载好了传到linux里&#xff0c;xshell的xftp直接拖过去就可以传 #安装rpm包管理 yum install -y rpm or apt-get install rpm #查找Java rpm -qa | grep java\|jdk\|gcj\|jre #卸载java rpm -e --nodeps jdk-1.8-1.8.0_401-10.x86_64 #安装 …

斜率优化详解

斜率优化 [HNOI2008] 玩具装箱 状态转移方程&#xff1a; f i m i n ( f i , f j ( s u m i i − s u m j − j − L ) 2 ) i > j f_imin(f_i,f_j(sum_ii-sum_j-j-L)^2){i>j} fi​min(fi​,fj​(sumi​i−sumj​−j−L)2)i>j 设A为 s u m i i sum_ii sumi​i&…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(二)

主要内容介绍可tmux和vim的一些常用操作&#xff0c;可以当作笔记需要的时候进来查就行。 文章目录 前言 一、tmux和vim 二、Linux系统基本命令 1.tmux教程 2. vim教程 3.练习 总结 前言 主要内容介绍可tmux和vim的一些常用操作&#xff0c;可以当作笔记需要的时候进来查就行…

双非本科一年20w,已是人中龙凤了

大家好&#xff0c;我是白露啊。 “双非本科一年20w已经是人中龙凤了”……吗&#xff1f; 牛客上刷到这条帖子&#xff0c;我一开始以为是一个钓鱼、引战贴。看完才觉得他说的很对&#xff0c;现在在求职选择工作的时候&#xff0c;网上都觉得得40万、50万&#xff0c;但当真…

Next.js Tailwind CSS UI组件

摘要&#xff1a; 官网 今天公司使用到一个前端ui框架——Next.js Tailwind CSS UI组件&#xff01;这从头构建一个AI驱动的前端UI组件生成器&#xff0c;生成Next.js Tailwind CSS UI组件&#xff1a; 1、用Next.js、ts和Tailwind CSS构建UI组件生成器Web应用程序。 2、用Copi…

LVGL欢乐桌球游戏(LVGL+2D物理引擎学习案例)

LVGL欢乐桌球游戏&#xff08;LVGL2D物理引擎学习案例&#xff09; 视频效果&#xff1a; https://www.bilibili.com/video/BV1if421X7DL

UFS协议入门-分层结构

写在前面:本文参考UFS jedec3.1,本文思维导图如下 1. 分层概述 UFS协议分为3层,从上至下分别是:应用层(UAP),传输层(UTP),互联层(UIC),具体结构如下图所示。 2.1 应用层 在应用层(UAP)中,包括:UFS指令集(UCS),设备管理器(Device Manager),任务管理器(Task Manager…

MeiliSearch-轻量级且美丽的搜索引擎

MeiliSearch-轻量级且美丽的搜索引擎 MeiliSearch 是一个功能强大、快速、开源、易于使用和部署的搜索引擎。它具有以下特点&#xff1a; 支持中文搜索&#xff1a;MeiliSearch 对中文有良好的支持&#xff0c;不需要额外的配置。高度可定制&#xff1a;搜索和索引都可以高度…