周末時間,抽個獎助助興!

打開題目,發現是一個猜字串的游戲,就問你枯不枯燥?

看到這想都不用想,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://www.uj5u.com/qita/275871.html
標籤:其他
下一篇:2021省選退役游記
