这里又遇见了 伪随机数
看似是随机的 但是通过固定种子 就可以实现 同一批次的数字
“就例如 我的世界 的种子 一样 一个种子 生成的世界是一样的”
看看源代码
访问ckeck.php
出现了 代码
for ( $i = 0; $i < $len1; $i++ ){
$str.=substr($str_long1, mt_rand(0, strlen($str_long1) - 1), 1);
}
处理随机数 就是我们需要的key
$str_show = substr($str, 0, 10);
echo "<p id='p1'>".$str_show."</p>";
输出 现在的随机数
我们可以通过随机数来计算 种子数
首先需要将字符转变为 数字 让工具去随机
str1 ='4BvXIebEIq'
str2 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result =''
length = str(len(str2)-1)
for i in range(0,len(str1)):
for j in range(0,len(str2)):
if str1[i] == str2[j]:
result += str(j) + ' ' +str(j) + ' ' + '0' + ' ' + length + ' '
break
print(result)
其次使用工具
获取到种子 然后 在 php7.1以上的环境运行
<?php
mt_srand(320641180);
$str_long1 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$str='';
$len1=20;
for ( $i = 0; $i < $len1; $i++ ){
$str.=substr($str_long1, mt_rand(0, strlen($str_long1) - 1), 1);
}
echo "<p id='p1'>".$str."</p>";
echo phpinfo();
得到flag