爆破
web21
抓包发现为base64加密 解密后发现格式为
设置bp




开始爆破

web22
爆破子域名
http://flag.ctfer.com/index.php
web23
include('flag.php');if(isset($_GET['token'])){$token = md5($_GET['token']);if(substr($token, 1,1)===substr($token, 14,1) && substr($token, 14,1) ===substr($token, 17,1)){if((intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1)===intval(substr($token, 31,1))){echo $flag;}}}else{highlight_file(__FILE__);}?>
脚本爆破一下
<?php
error_reporting(0);
$a="asdfghjklqwertyuiopzxcvbnm1234567890";
for($i=0;$i<36;$i++){
for($j=0;$j<36;$j++){
$token=$a[$i].$a[$j];
$token = md5($token);
if(substr($token, 1,1)===substr($token, 14,1) && substr($token, 14,1) ===substr($token, 17,1)){
if((intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1)===intval(substr($token, 31,1))){
echo $a[$i].$a[$j];
exit(0);
}
}
}
}
?>

输入3j即可
web24
error_reporting(0);
include("flag.php");
if(isset($_GET['r'])){
$r = $_GET['r'];
mt_srand(372619038);
if(intval($r)===intval(mt_rand())){
echo $flag;
}
}else{
highlight_file(__FILE__);
echo system('cat /proc/version');
}
?>
mt_srand伪随机数 种子被确定 下一次mt_rand可以被算出来
mt_srand(372619038);
mt_srand(372619038);
echo mt_rand();

传入获得flag
web25
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');
}
mt_srand(seed) //给定一个种子
//通过mt_rand()线性来生成随机数
//也就是当确定了seed后 就可以确定mt_rand()+mt_rand()的值
//我们有了mt_rand()生成的随机数同样可以爆破seed
利用工具进行爆破
gcc php_mt_seed.c -o php_mt_seed 预编译

传入?r=0 得到随机数

pass
web26

设置为空可以得出flag
或者爆破密码

web27

下载名单 发现身份证号其中一部分模糊 爆破

设置字典

成功爆破

登陆成功
web28
http://30423563-9952-4a49-b739-70a65d3cd6e4.challenge.ctf.show:8080/0/1/2.txt
发现url独特之处 爆破/0/1/
选择Cluster bomb模式 采用数值 爆破

发现flag
