boxmoe_header_banner_img

⋅無⋅限⋅進⋅步⋅

加载中

文章导读

伪随机码漏洞


avatar
yuhui 2025年10月24日 33

伪随机码漏洞

概述

伪随机码,是程序语言生成的一定范围的一串数字字符,它的范围是可控的,可以遍历的,很多程序员在开发过程中,如果使用了伪随机数,对提交没做限制,会造成漏洞

伪随机码 结构可以预先确定,重复产生和复制,具有某种随机序列的随机特性的序列号。在 WEB 开发中 伪随机码主要用于确定范围 例如 6 位数的范围是 000000-999999 这个范围内随机生成一个值。在 php 里就有这样的函数 rand()函数是产生随机数的一个随机函数例如生成 000000-999999 可以这样设置 rand(000000,999999)在 WEB 安全里 用到这样的伪随机数 一般是 手机获取验证码

如果这个验证码使用这种模式,我们就可以枚举所有数值进行对比,即可绕过

短信验证码漏洞代码分析

从源码中,看到 rand 的范围是数字类型 是可控的,可以通过遍历所有的结果进行验证,因为验证数字的过程没有任何限制,可以穷举所有的结果

1746427938750-71e0cf9b-2ac9-44b0-b438-5696ddb57e0a.png

伪随机验证码攻击

首先提交手机 获取验证码 抓包发送到 intruder 设置 payload 为 number 设置范围,提交攻击

1746428174772-9da3fc0f-d19d-4358-9ada-f7b903feb2d2.png

1746428185597-46e779d5-8ac5-4a5d-805f-b0a6bc951ce8.png查看内网的大小 显示正常的数字

1746428192498-d24770ef-9293-47f6-98c2-87b1306072aa.png

伪随机数防御方案

1.使用安全性高的随机码,保证随机码是唯一的。

2.在随用伪随机码进行程序验证时,设置提交的次数,超过指定的次数进行销毁。

3.在一段时间内的次数进行限定,超过无效。

更新: 2025-05-05 14:56:56
原文: https://www.yuque.com/yuhui.net/network/rquzg43z2gss8i80



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码