CTF Web安全

无需爆破还原mt_rand()种子

Posted on 2020-02-09,1 min read

详情看文章:https://www.anquanke.com/post/id/196831#h2-6
对于这个原理。还是懵懵的。

大概就是已知第N个随机数和第N+226个随机数。那么就能求出种子

<?php
mt_srand(6758);
for($i=0;$i<228;$i++){
	echo mt_rand()." ";
}
?>

生成228个随机数

1898764065是第0个
655275142是第227个
中间间隔226个
利用脚本:https://github.com/ambionics/mt_rand-reverse
第一个参数:第N个随机数
第二个参数:第N+226个随机数
第三个参数:第N个随机数。N的值
第四个参数:0代表PHP5。1代表PHP7+

下一篇: [vulnhub]DC-4/5/6靶机→