news 2026/5/21 10:11:33

逻辑越权之验证码|token|接口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
逻辑越权之验证码|token|接口

验证码安全

核心原理:验证码生成、发送、验证环节的逻辑缺陷。

主要危害:导致账户被盗、短信轰炸、用户信息被遍历、执行任意用户操作。

常见漏洞:

爆破:验证码无尝试次数限制,且在有效期内不变。

识别:验证码过于简单,可被OCR工具自动识别。

复用:服务器未使验证码一次性失效,旧验证码可重复使用。

回显:验证码直接出现在客户端请求或响应中。

逻辑绕过:通过修改参数、跳转步骤等方式直接跳过验证码校验环节。

Token安全

核心原理:身份验证或防重放令牌(Token)在生成、传递、验证过程中存在缺陷。

主要问题:攻击者可预测、窃取或篡改Token,从而绕过身份验证。

常见漏洞:

爆破/预测:Token存在规律(如递增、基于时间),可被预测或暴力枚举。

客户端回显:敏感Token在HTTP请求/响应中明文传输,易被截获。

固定/复用:Token长期不变或可重复使用,导致会话固定攻击。

靶场pikachu:

Burte Force(暴力破解)概述

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

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

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

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

从来没有哪个时代的黑客像今天一样热衷于猜解密码 ---奥斯特洛夫斯基

一.1.基于表单的暴力破解

如果我们看到了左上角的提示,直接输入就行,但是对于以后的题目不会有这样的提示,我们可以直接用自己平时fuzz脚本去试试跑一下也能跑出来,但是为了减少我爆破的时间直接使用他提示的语句来组成字典这里一共有三个用户: admin/123456 pikachu/000000 test/abc123

2.抓包放到bp爆破就行

二.验证码绕过(on server)

1.随便输入抓包看看

2.利用前面爆破出来的账号和密码来登录试试

3.发现这个验证码没有变化那么直接手动添加正确验证码

三.验证码绕过(on client)

1.还是一样的思路输入前面爆破出来的账号和密码然后来抓包

2.发现输入正确的密码账号就行,而且你抓包的时候就能看到完整的一个全部验证码

四.token防爆破?

token是由服务端生成的一串字符串,作为客户端向服务端请求的一个标识。在前端使用用户名/密码向服务端发送请求认证,服务端认证成功,那么在服务端会返回token给前端,前端在每次请求时会带上服务端发来的token来证明自己的合法性。

1.还是要利用bp的爆破模块下的宏功能

这里出现了csrf token错误,就是说服务端返回给你的token不是你这个,然后不同的密码返回的token值不一样,这就需要关联两个变量用到pitchfork模式

设置宏定义。点击option选项,下拉找到Grep Extract栏,点击Add,在弹出的窗口中点击Refetch response发一次包并获得返回数据,在下面输入栏处输入token,找到返回的token

<input type="hidden" name="token" value="115056943e6fdac6dd687766619" />

然后选中token值并复制,同时在选中的情况下点击OK。然后将线程数设置为1,并在最下方Redirections重定向栏,选择Always

最后设置Payload,这里第1个Payload依然和前面一样选择对应的字典即可。第2个即token变量则选择Recursive grep递归搜索,最后将前面复制的token值粘贴在下方文本框

成功

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/18 14:09:45

git 本地分支上进行了合并操作但尚未推送到远程仓库,如何撤销?

如果你在本地分支上进行了合并操作但尚未推送到远程仓库&#xff0c;可以通过以下几种方式撤销合并&#xff1a; 1. 使用 git reset 撤销合并&#xff08;推荐&#xff09; 查看合并记录 git log --oneline -5找到合并前的 commit ID&#xff0c;然后重置 # 软重置&#xff08;…

作者头像 李华
网站建设 2026/5/20 19:46:53

23、Web与互联网服务器管理全解析

Web与互联网服务器管理全解析 1. sftp文件同步脚本 sftp程序允许通过管道或输入重定向的方式接收一系列命令。基于此特性的脚本主要用于构建上传更改文件的命令序列,最后将这些命令交给sftp程序执行。 如果使用的sftp版本在传输失败时不能正确向shell返回非零失败代码,可移…

作者头像 李华
网站建设 2026/5/12 23:54:21

Vue指令(4):v-model

v-model 作用 给表单元素使用&#xff0c;实现双向数据绑定&#xff0c;可以快速获取和设置表单元素内容 使用场景分析 上图第一张图为视图&#xff0c;第二张图为数据。两者实现双向数据绑定 &#xff08;1&#xff09;数据变化时&#xff0c;视图自动更新 &#xff08;2…

作者头像 李华