Web入门(爆破21-28)

web爆破

web21(custom iterator+编码)

img

注意到有一串base64密文

img

解密后发现是加密后的账号和密码 img

img

然后爆破

img

导入字典

img

因为base64有=所以要关掉

img

爆破

img

web22(子域名爆破)

用Layer子域名爆破,找到flag.ctfer.com

img

img

web23(substr函数和爆破脚本)

img

substr() 函数返回字符串的一部分

用法

img

img

自定义爆破,就是太慢了

img

<?php error_reporting(0);

$string = '0123456789QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm'; for($a=0;$a<strlen($string);$a++){ for($b=0;$b<strlen($string);$b++){ for($c=0;$c<strlen($string);$c++){ $flag = $string[$a].$string[$b].$string[$c]; $token = md5($flag); 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."\n"; } } } } } ?>

两种方法都可以

img

随便选一个就可以

img

web24(随机数生成器与取整)

img

mt_srand()函数用法

播种 Mersenne Twister 随机数生成器

intval() 函数用于获取变量的整数值

这道题显然是伪随机数,真正的随机数是不可能的。

在php中,当mt_srand即种子被确定后,后面生产的随机数都可以计算出来。

img

img

ctfshow{49fe81ca-b6a7-493b-ade9-36fadd0f6c97}

web25(*伪随机数****)***

php的伪随机数,结合代码审计。根据题目开始输入r=0,可以得到第一次伪随机数的相反数。也即可以得到第一次伪随机数。

img

mt_rand=452052685

这个没搞太明白,找大佬的答案QAQ

web26

在同意界面抓包

img 这个题有非预期

img

这样直接出flag

正常做是这样

img

字典用web21就可以了

img

web27(日期爆破)

img

img

对身份证的日期爆破

img

img

img

登录就可以得到

img

web28(*暴力破解目录****)***

img

发现没有其它提示,直接抓包

img

提示要对目录爆破

img