CTFshow-web入门爆破(21-28)

这篇博客详细介绍了CTFshow-web系列的21到28关的爆破解题过程,涉及内容包括账户密码的base64解密、HTTP响应包分析、PHP伪随机数种子计算、以及利用Burp Suite进行网络抓包和爆破。博主分享了每关的具体解决方案,包括使用特定工具和参考他人博客资源,最终成功获取flag。
摘要由CSDN通过智能技术生成

web21


用burp抓包

输入的账户名和密码被base64加密了,用burp自带解密发现账户名和密码之间用冒号隔开了,接下来构造payload

分别选中账户名和密码,我这里选择把冒号放到了账户名那里,放到密码也可以,只是一会儿加前缀和后缀的区别

payload1(账户名):先导入题目提供的字典,然后加后缀冒号,再用base64加密


payload2(密码):导入提供的字典,base64加密


payload1和payload2都需要取消勾选

构造完之后,发现需要爆破的条目数太大了,经过群里大佬提示,账户名就是admin,爆破完之后得到密码是shark63。


查看响应包,获取flag

web22

http://flag.ctfer.com/index.php

web23

<?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

传递token=3j即可得到flag

web24

PHP伪随机数种子

<?php
mt_srand(372619038);
echo(mt_rand());
?>

运行得伪随机数1155388967

传递?r=1155388967即可获取flag

web25

先传递?r=0获得随机数


通过漫长的等待和多次尝试,终于算出来1914244310可以用
php_mt_seed-PHP mt_rand()种子破解程序下载地址
https://www.openwall.com/php_mt_seed/

<?php
mt_srand(1914244310);
echo mt_rand()."\n";
echo mt_rand()+mt_rand();

传递参数r=1469584721 token=2772329577,获得flag

web26

乍一看像常规爆破账户名和密码,看到默认提供了一些信息

直接提交,抓包看看,果然不行


之后爆破出密码为7758521,获得flag

这道题还有另一种解法,但是我没复现出来,这里附上大佬博客,第26题的新解法
https://oatmeal.vip/ctf-wp/oj/ctfshow-web/

web27

打开页面之后,发现有录取名单

点击下载名单,身份证中的生日被隐藏了

又找到学院录取查询页面,看到要输入姓名和身份证号,姓名已经有了,身份证有一部分,接下来只要爆破出生日期就行

这里有很坑的一点是,如果用火狐浏览器,burp不能直接抓到这个页面的数据,需要在谷歌浏览器里复制请求头


构造payload

爆破出正确身份证号

解出响应包的Unicode编码,得到学号

输入学号和身份证号,获得flag

web28

爆破目录/0-100/0-100

构造payload,payload1和payload2相同


过滤掉3xx,4xx,5xx的包,得到200响应包,获得flag

附上参考的大佬博客

https://blog.csdn.net/qq_46091464/article/details/108834851
https://www.d1a0.cn/2020/11/20/ctfshow-web%E5%85%A5%E9%97%A8%E7%88%86%E7%A0%B4/#web28

如有错误,敬请斧正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值