当前位置:主页 > 查看内容

[GWCTF 2019]枯燥的抽奖 1

发布时间:2021-06-28 00:00| 位朋友查看

简介:周末时间抽个奖助助兴 打开题目发现是一个猜字符串的游戏就问你枯不枯燥 看到这想都不用想CTRLU查看后台代码果然不出所料发现了存在check.php 通过代码审计并结合题目来看这是一道 php伪随机数 的题通过代码可以发现使用了mt_rand()函数播种并生成了随机数先……

周末时间,抽个奖助助兴!
在这里插入图片描述
打开题目,发现是一个猜字符串的游戏,就问你枯不枯燥?
在这里插入图片描述

看到这想都不用想,CTRL+U查看后台代码,果然不出所料,发现了存在check.php在这里插入图片描述
在这里插入图片描述
通过代码审计并结合题目来看,这是一道php伪随机数的题,通过代码可以发现使用了mt_rand()函数播种并生成了随机数,先用脚本转换伪随机数编程能力太弱,查看wp发现了一个较好的python脚本(原文链接:https://blog.csdn.net/qq_41628669/article/details/106133105)

# -*- coding: utf-8 -*-
s = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
key = 'c1z5DuPZXT'
m = ''
for i in key:
    for j in range(len(s)):
        if i == s[j]:
            m += "{} {} 0 {} ".format(j,j,len(s)-1)
print(m)

2 2 0 61 27 27 0 61 25 25 0 61 31 31 0 61 39 39 0 61 20 20 0 61 51 51 0 61 61 61 0 61 59 59 0 61 55 55 0 61

下一步使用php_mt_seed4.0(下载地址)进行种子爆破
在这里插入图片描述
用爆破出来的种子生成题目中所要求的字符串

mt_srand(744449933);
$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>";

在这里插入图片描述

将所生成的字符串提交得到flag

;原文链接:https://blog.csdn.net/qq_50454266/article/details/115407565
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:2021省选退役游记 下一篇:没有了

推荐图文


随机推荐