WEB漏洞—逻辑越权之验证码|token|接口
验证安全原理
1.验证码安全
分类:图片,手机或邮箱,语音,视频,操作等
原理:验证生成或验证过程中的逻辑问题
危害:账户权限泄漏,短信轰炸,遍历,任意用户操作等
漏洞:客户端回显(已讲),验证码复用,验证码爆破(已讲),绕过等
---验证码爆破:没有次数限制,验证码有效时间内不变
---验证码识别:用工具识别验证码
---复用:用上一次的验证码来绕过下一次的验证
---回显:验证码在前端数据包显示
---绕过:逻辑上的绕过,直接跳过验证码
2.token 安全
#基本上述同理,主要是验证中可存在绕过可继续后续测试
---token 爆破---token后面会跟上一个字符串,如果知道规律可以进行爆破
---token 客户端回显---token的数据会在前端数据包(request)里面显示
---token固定---虽然有token,但是可以通过上一次的token操作下一次的数据包(表面上有,实际没有)
pikachu靶场练习
on server
---思路:复用之前的验证码绕过(判断对方服务器有没有每次刷新验证码并且每个数据包的检验,或者看它是不是只检测了第一步)
---如果第一个数据包是对的,后面的还会不会检测
进入靶场
#输入正确的验证码并抓包发送到repeater,修改username值或password值,发送
#---修改用户名但是不修改验证码(没有提示验证码错误均返回username or password is not exists,说明可以复用)
---用法:首次输入验证码之后,就不用输入验证码,因此,可以用字典对密码和用户名进行爆破
分析一下源代码
---漏洞存在原因:session中的vcode没有销毁,导致下一次还能用
onclient
---查看前端源代码(将验证码部分写入了前端)
---当然在前端也可以这样写:将验证码部分写在1.js模块,然后<script src=”1.js”,然后引用这个模块。因此很可能在前端里面看不到验证代码,所以我们在抓包的时候要查看是否调用了其他的地址
---和上一关类似,这里目的是绕过验证码,直接进行爆破
token
Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。
Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
__EOF__

本文链接:https://www.cnblogs.com/Zx0906/p/17583827.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码