说实话不太喜欢爆破题,每次做这类题的时候总是会有各种问题,不是密码字典不行,就是burp设置有问题,导致浪费了时间,还没有弄出来。。。(菜鸡的心塞)
web21
解答:tomcat认证
1)burp抓包看一下。Authorization: Basic YWRtaW46YWRtaW4= ------->输入的用户名/口令以base64的形式传输,格式是“用户名:密码”。
2)intruder爆破设置
拼接,爆破密码字典,题目中提供了。
拼接完成后,进行base64编码。在payload processing 进行编码设置。
最后的密码是shark63。爆破的时候出了很多问题,最后直接奔着正确答案去爆破了。
提醒一下:这个记得去掉,否则就把
=
进行url编码了,没注意导致最后没爆出来。还有一次是因为字典较大,题目过期了我还没爆破完,第二次的时候忘记换url了。。。
web22
提示:域名也可以爆破的,试试爆破这个ctf.show的子域名
解答:域名更新后,flag.ctf.show域名失效。所以这道题爆不出来了。爆破方式没有太大差别。
web23
解答:php代码分析。get传参的内容经过md5加密,加密的结果符合条件就可以输出flag。
爆破一下md5值,找到符合条件的。最后结果是3j
。
#coding: utf-8
import hashlib
dic = '0123456789qazwsxedcrfvtgbyhnujmikolp'
for a in dic:
for b in dic:
c = (str(a)+str(b)).encode('utf-8')#python3中必须进行utf-8编码
token = hashlib.md5(c).hexdigest()
if token[1:2] == token[14:15] and token[14:15]== token[17:18]:
if (int(token[1:2])+int(token[14:15])+int(token[17:18]))/int(token[1:2])==int(token[31:32]):
print(c)
web24
解答:
伪随机值。mt_srand(seed)根据seed种子生成随机数。
提示:从 PHP 4.2.0 开始,随机数生成器自动播种,因此没有必要使用该函数。
如果设置了 seed参数 生成的随机数就是伪随机数,即每次生成的随机数是一样的。
mt_srand(372619038);
echo mt_rand();
#版本不同,值不同。本题是php7的,r=1155388967
web25
解答:这次并不知道种子是什么,需要用到一个工具php_mt_seed。
php_mt_seed地址:下载地址
首先?r=0
,获取第一个随机值877462857,然后用php_mt_seed爆破种子seed,根据burp返回的情况是php7.3.11版本,所以找此版本范围的seed,一个一个测试,找到了seed为374213700。
<?php
mt_srand(374213700);
echo mt_rand()."<br/>";
echo mt_rand()+mt_rand()."<br/>";
?>
# get:?r=877462857
# cookie:token=1399378257
web26
解答:是个ctfshow flag管理系统安装界面,点击安装进入install.php页面(在源码中也可以看到)。输入安装传递给checkdb.php。
看信息应该是pass密码处可以爆破,用之前给的密码爆破。
因为发送的频率较高,服务器不堪重负,返回很多503,导致正确答案也没有爆出来。调整了一下线程数量,添加了请求延迟,明显就好多了,但速度也就下降了。
web27
解答:打开页面,发现录取名单,里面有学生姓名和部分身份证号,屏蔽的信息是生日年月日。
学生学籍信息查询系统中只需要输入姓名和身份证就可以查询信息。
burp抓包,进行生日日期爆破。
结果爆出来了是19900719,结果是是html编码。
f12在控制台输入一下看看是什么。给了学号是02015237,密码是身份证。回到登录界面登录就可以拿到flag了。
web28
解答:
看url会比较奇怪,是0/1/2.txt。如果修改最后的2.txt会被无限重定向,不删除2.txt只修改前面的0和1依旧会被无限重定向。所以,先去掉2.txt,对前面两个数字进行爆破。
爆破方式选择Cluster bomb
payload类型设置为数值。
爆出来结果是/72/20