ctfshow-web入门-爆破wp

发布时间 2023-12-08 12:08:10作者: 2xixi3

Web21:

​ 进入主页为登录框,随便输入信息用burp抓包,发现Authorization认证使用Base64加密传输,解密发现为刚才输入的信息

image-20231207093915571

右键发送至Intruder进行爆破,使用题目给出的字典进行爆破并添加变量

image-20231207094154172

添加前缀使用户名固定并用Base64加密传输,记得取消勾选url-encode,不然会转义Base64的"="

image-20231207094246024

爆破出结果

image-20231207094454668

Web22:

​ 提示子域名爆破,可以使用Layer或者fofa等来进行子域名信息收集,由于子域名已经失效,所以无法爆破。

Web23:

​ 方法一:使用alberthao师傅的脚本进行爆破匹配字符,该脚本简单的来说就是先设置一个字符数字的字典,然后从字典拼接出一个两位的字符串,使用两位的字符串去匹配题目的规则进行碰撞,最后获得的结果是 3j

    #coding: utf-8
    #alberthao
import hashlib
dic = '0123456789qazwsxedcrfvtgbyhnujmikolp'
for a in dic:
    for b in dic:
        t = str(a)+str(b)
        md5 = hashlib.md5(t.encode('utf-8')).hexdigest()
    #print md5
    #print md5[1:2]
    #print md5[14:15]
    #print md5[17:18]
        if md5[1:2] == md5[14:15] and md5[14:15]== md5[17:18]:
            if(ord(md5[1:2]))>=48 and ord(md5[1:2])<=57 and (ord(md5[14:15]))>=48 and ord(md5[14:15])<=57:
                if (ord(md5[17:18]))>=48 and ord(md5[17:18])<=57 and (ord(md5[31:32]))>=48 and ord(md5[31:32])<=57:
                    if(int(md5[1:2])+int(md5[14:15])+int(md5[17:18]))/int(md5[1:2])==int(md5[31:32]):
                        print(t)

image-20231207101026875

​ 方法二:使用burp直接对token进行爆破

image-20231207101218520

如果觉得默认的10线程爆破太慢了可以手动提高并发

image-20231207101320843

从长度上判断422和1202符合判断条件

image-20231207102402045

Web24:

​ php伪随机数,php使用mt_srand(种子)时是伪随机数,每次使用相同的种子所获得的随机数是一样的,写一个php文件,使用相同的种子获取随机数进行传输。

image-20231207103954605

image-20231207104015616

Web25:

调用mt_srand分发一个flag的MD5前8位的种子,将输入的r与第一次mt_rand()生成的数相减并赋给rand。

当r=0时会输出第一次mt_rand()的值,可以使用工具逆推原mt_srand()函数的种子来获得第二次和第三次mt_rand()生成的数之和。

image-20231208110751814

逆推工具(https://www.openwall.com/php_mt_seed/php_mt_seed-4.0.tar.gz):

解压到本地后直接make编译一个执行文件后./php_mt_seed seed进行逆推

image-20231208111407673

写个php脚本计算mt_rand()的值

<?php
    $_seed = '2346706253';
    mt_srand($_seed);
    echo intval(mt_rand());
    echo "\n";
    echo(mt_rand() + mt_rand());
?>

传参获得flag

image-20231208111524069

Web26:

​ 抓包看response,flag直接送

image-20231208112507136

Web27:

​ 下载录取名单

image-20231208113707023

发现录取查询可以根据名称身份证查询,对录取名单中缺失的部分进行爆破,选择日期模式,从1990开始,记得修改格式。

image-20231208113957806

成功获取,查询后可重置密码,学号加密码登录后获得flag

image-20231208114142664

Web28:

​ 进来发现目录有问题,直接对目录进行爆破

image-20231208120100846

image-20231208120145292

得到一个response码为200的包,点击查看存在flag

image-20231208120237615