# web21
Payload set ----> custom iterator (自定义迭代器) 需要 base64 编码
ctfshow{91bd4cda-e6db-4b02-9c72-0b9ec12b06c6}



# web22
子域名爆破
# web23
脚本寻找符合条件的值


# web24
php 伪随机数漏洞 找到多次访问不变的随机数


# web25
逆推:
传 r=0 得到 -766445872 (这个就是 -intval(mt_rand() )
所以 intval(mt_rand)=766445872 , 接下来使用 kali 反推出种子(会有几个种子,需要去试试是哪个),然后再根据种子用脚本得到的第一次的随机数给 r , 第二次和第三次的随机数的二者之和赋给 cookie 的 token
<?php | |
error_reporting(0); | |
include("flag.php"); | |
if(isset($_GET['r'])){ | |
$r = $_GET['r']; | |
mt_srand(hexdec(substr(md5($flag), 0,8))); | |
$rand = intval($r)-intval(mt_rand());// 第一次调用 | |
if((!$rand)){ | |
if($_COOKIE['token']==(mt_rand()+mt_rand())){// 第二次和第三次 | |
echo $flag; | |
} | |
}else{ | |
echo $rand; | |
} | |
}else{ | |
highlight_file(__FILE__); | |
echo system('cat /proc/version'); | |
} |





# web26
按提示填写后抓包,爆破密码
ctfshow{60fe9a09-2e71-4d50-9f97-2cbfe1e42310}


# web27
根据录取名单,爆破身份证号,注意日期格式 yyyyMMdd ,附加前缀和后缀



# web28
爆破目录(注意要删去 /2.txt )


