前言
接上回章节
Web25
没想到都是随机种子的爆破…
传入r用0-随机生成的种子
如果设置的cookie等于第二次和第三次随机种子之和则输出flag
下载Php随机种子爆破包https://www.openwall.com/php_mt_seed/php_mt_seed-4.0.tar.gz
编译一下
如果出错了在前面需要加#include <sys/times.h>头文件
make #编译
先给他随机传参
检查一下php版本是7.1+
我们找个7.1+版本
编写脚本(注意这个种子可能需要爆破多次,所以这里只是提供一个方法)我尝试多个种子爆破
<?php
mt_srand(1064029812);
echo mt_rand()."\n";
$result = mt_rand()+mt_rand();
echo $result;
?>
我们复制第二次的种子
这里cookie传入的token需要是第一次和第二次的种子之和
我们使用我们的cookie-Editor进行写入token
下一步进行传参r进入循环
Web26
打开一看需要安装
这里数据库的信息CTFshow都给我们了
但是连接是失败的所以需要爆破
需要爆破密码
用他们给的字典并没有爆破出来
我们查看发送到重放器里查看一下逻辑
发送之后给了一串utf-8编码
解码后原来是数据库连接失败啊,有点尬
这里我发现
如果不填点击开始安装是可以连接成功的
我们不填去发送
flag就出了
Web27
打开一看是个管理系统
但是需要登录进去
这里给出了录取名单以及学生学籍信息查询系统
我们下载进行查看一波
可以看到这里给的身份证号是给隐藏的所以我们需要爆破身份证号
编写python脚本(借鉴别人的,这里身份证的组成原理是需要研究一下的,
id_head = 621022
id_reap = 5237
year = 1989
with open('id.txt', 'w') as fp:
for i in range(year, 1991):
for month in range(1, 13):
for day in range(1, 32):
if day < 10 and month < 10:
id = str(id_head) + str(i).zfill(2) + str(month).zfill(2) + str(day).zfill(2) + str(id_reap) + "\n"
elif day < 10:
id = str(id_head) + str(i).zfill(2) + str(month).zfill(2) + str(day).zfill(2) + str(id_reap) + "\n"
elif month < 10:
id = str(id_head) + str(i).zfill(2) + str(month).zfill(2) + str(day) + str(id_reap) + "\n"
else:
id = str(id_head) + str(i).zfill(2) + str(month) + str(day) + str(id_reap) + "\n"
fp.write(id)
生成了
让后我们去抓包爆破
这里看到第404个爆破出来了
Web28
这里打开一看什么也没有
这里发现他是301强制跳转
也就是说访问http://5ab14198-de2b-4ad2-bfa8-0b8d3ce6c1ac.challenge.ctf.show会跳转到http://5ab14198-de2b-4ad2-bfa8-0b8d3ce6c1ac.challenge.ctf.show/0/1/2.txt
我们需要找到他们的主文件index.php所在的目录
index是网站的首页
爆破的就是目录0 1
我们用php编写一个0-100的数字去复制他
<?php
for($i=0;$i<=100;$i++){
echo $i."\n";
}
?>
复制到txt中
进行抓包选择集束炸弹模式
线程我设置的是10,开始爆破
OK 解决
暂无评论内容