我是靠谱客的博主 土豪棒球,最近开发中收集的这篇文章主要介绍PHP可预测的伪随机数 :[GWCTF 2019]枯燥的抽奖,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

写在前面

此部分内容读者可以读完文章再看,主要讲了工具参数的生成方法。未完待续

两参数mt_rand(最小值,最大值)

此处主要学习了php_mt_seed源文档

翻到源文档,有没有发现与本题目一模一样呐。

在这里插入图片描述

php_mt_seed官方PHP版payload其实可以直接使用。

在这里插入图片描述

<?php
$allowable_characters = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$len = strlen($allowable_characters) - 1;
$pass = "rz51neG83x";
for ($i = 0; $i < strlen($pass); $i++) {
    $number = strpos($allowable_characters, $pass[$i]);
    echo "$number $number 0 $len  ";
}
echo "n";
?>

生成的结果:php_mt_seed参数

在这里插入图片描述

学习自

1.佩枪朱丽叶
https://shawroot.hatenablog.com/entry/2019/12/11/GWCTF_2019_WEB-%E6%9E%AF%E7%87%A5%E7%9A%84%E6%8A%BD%E5%A5%96
2. php_mt_seed
https://github.com/openwall/php_mt_seed/blob/main/README

start

在这里插入图片描述
我想一道题应该是这样的 看到伪随机数
我想我忘记怎么用这个工具了
在这里插入图片描述
在这里插入图片描述
掌握了使用方法。

在这里插入图片描述
尚不清楚PHP版本信息 按7处理

本文主要部分在于此段代码,即为php_mt_seed用法

需要翻github文档

复现过程

代码:原作者:佩枪朱丽叶

str1='abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
str2='c3wBAyqpZM'
str3 = str1[::-1]
length = len(str2)
res=''
for i in range(len(str2)):  
    for j in range(len(str1)):
        if str2[i] == str1[j]:
            res+=str(j)+' '+str(j)+' '+'0'+' '+str(len(str1)-1)+' '
            break
print(res)
17 17 0 61 25 25 0 61 31 31 0 61 27 27 0 61 13 13 0 61 4 4 0 61 42 42 0 61 34 34 0 61 29 29 0 61 23 23 0 61 

KALI中运行

/php_mt_seed-main/php_mt_seed 17 17 0 61 25 25 0 61 31 31 0 61 27 27 0 61 13 13 0 61 4 4 0 61 42 42 0 61 34 34 0 61 29 29 0 61 23 23 0 61

在这里插入图片描述

跑出的种子:811224182

seed = 0x305a4c76 = 811224182 (PHP 7.1.0+)

PHP7在线环境生成结果

代码:原作者:佩枪朱丽叶

<?php
mt_srand(811224182);
$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>";
?> 

在这里插入图片描述

<p id='p1'>rz51neG83xWSFre0enNc</p> 

在这里插入图片描述
在这里插入图片描述

最后

以上就是土豪棒球为你收集整理的PHP可预测的伪随机数 :[GWCTF 2019]枯燥的抽奖的全部内容,希望文章能够帮你解决PHP可预测的伪随机数 :[GWCTF 2019]枯燥的抽奖所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部