CTF伪随机数爆破

文章探讨了PHP中的伪随机数生成机制,特别是rand()和mt_rand()函数,以及它们如何受种子值影响。作者指出,虽然这些函数看似随机,但可通过预设种子值导致可预测性,展示了随机数生成的漏洞实例。

要了解伪随机数的爆破首先你的先知道什么是PHP种子,

借用在rand()函数中,我们可以通过设置随机数种子来影响随机数的生成。例如,在rand()函数中加入了随机数种子编码后,每次运行程序将会生成同样的随机整数序列。这个就是伪随机数,因为种子是已知的。

这里使用

X1NOoo大神的举例:

mt_scrand()
mt_rand()  
mt_scrand(seed)这个函数的意思就是分发seed种子,种子有了后,靠mt_rand()生成随机数。

例如我们写一个脚本

<?php  
mt_srand(55555);    
echo mt_rand()."<br/>";
?> 
//输出277249736
如果我们多输入几次呢

<?php  
mt_srand(12345);    
echo mt_rand()."<br/>";
echo mt_rand()."<br/>";
echo mt_rand()."<br/>";
echo mt_rand()."<br/>";
?>

//输出277249736
230135029
1872932720
153

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值