
我枯燥你()

源代码让我们查看check.php
听话

mt_srand
伪随机数是吧
mt_srand
mt_srand() 函数播种 Mersenne Twister 随机数生成器。
提示:从 PHP 4.2.0 开始,随机数生成器自动播种,因此没有必要使用该函数。当不使用随机数播种函数srand时,php也会自动为随机数播种,因此是否确定种子都不会影响正常运行。
也就是我们所说的种子
一个种子对应一串字符
知道种子就能知道字符,知道字符就能知道种子
所以我们开始求种子
下载php_mt_seed工具并且使用
下载链接:php_mt_seed - PHP mt_rand() seed cracker

下载后,放入linux环境,并且运行
在此之前,要先将字符转化为mt_seed可识别的样子
<?php $allowable_characters = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; $len = strlen($allowable_characters) - 1; $pass = "Yb5Uor04iN"; for ($i = 0; $i < strlen($pass); $i++) {     $number = strpos($allowable_characters, $pass[$i]);     echo "$number $number 0 $len  "; } echo "\n"; ?>
   | 
 

发现种子
之后执行代码
<?php mt_srand(467497519); $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>"; ?>
   | 
 
运行拿到字符串
直接

拿下!!!