web21 bp 攻击模块的迭代器

输入账号密码 抓包 发现下面存在一个base64编码
我输入的是 123 123
发现就是base加密
账号 密码
那我们怎么通过intruder模块 自动变为 base64呢

然后去payload------>custom iterator(自定义迭代器)

位置1导入admin

因为是 账号:密码 这个组合 所以位置2 选择 :

位置3
再一次导入字典

选择编码 我们在下面的进行编码选择

 

还有记得取消自动url编码

然后直接开始就可以了

web22 域名也可以爆破
Release Layer5.0 SAINTSEC · euphrat1ca/LayerDom ainFinder · GitHub

但是我没找到flag
web23

web24


web25
首先对代码进行查看
include("flag.php");
if(isset($_GET['r'])){
    $r = $_GET['r'];
上面都是读取
    mt_srand(hexdec(substr(md5($flag), 0,8)));
 mt_srand 是一个随机数生成器
生成出来的内容为 mt_rand()
其中的种子是 
对md5后的flag的0到8进行十六进制转换的值
    $rand = intval($r)-intval(mt_rand());
设置rand为 输入的r - 这个随机数
    if((!$rand)){
如果 rand为0
        if($_COOKIE['token']==(mt_rand()+mt_rand())){
            echo $flag;
        }
就输出flag
    }else{
        echo $rand;
不然就输出 随机数
    }
}else{
    highlight_file(__FILE__);
    echo system('cat /proc/version');
} 这个时候 我们读懂了代码
要的就是我们输入的 r - 随机数 =0
我们先输入一个 0 看看
?r=0
-1403888972说明现在的 随机数即3(mt_rand)= 1403888972
那我们可以使用工具
GitHub - openwall/php_mt_seed: PHP mt_rand() seed cracker 来爆破

得到了这些数值
那我们可以写一个php 来看看是什么得到了 1403888972
<?php
$num=4266567617;
mt_srand($num);
echo mt_rand();
    
?>

最后排除到了 两个
这个时候 我们就知道了 mt_rand=4266567617 或者3811577552
 if((!$rand)){
        if($_COOKIE['token']==(mt_rand()+mt_rand())){
            echo $flag; 
这里取得了 两次的 mt_rand() 
 
发现 每一次的值是不一样的 所以他总共是取了3次值
这里是第2 3 次
那我们写个代码来测试

测试看看


 
发现成功了
web26
爆破pass 即可
web27 bp的日期爆破


抓包 
最后爆破完成时 19900201
web28

我们爆破目录看看




















