web21
爆破后台:
抓包后发现base64,解码后:
设置payload:
自定义迭代器
第二个位置设置:
,第三个位置导入密码字典
先进行base64编码,去掉转义。
web22
爆破子域名:http://flag.ctfer.com/index.php(不过现在好像挂了)
web23
源码:
error_reporting(0);
include('flag.php');
if(isset($_GET['token'])){
$token = md5($_GET['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 $flag;
}
}
}else{
highlight_file(__FILE__);
}
通过分析不难知道,爆破md5加密后的第1、14、17位相等的字符即可。
import hashlib
dic = '0123456789qazwsxedcrfvtgbyhnujmikolp'
md5 = hashlib.md5(dic.encode()).hexdigest()
for a in dic:
for b in dic:
t = str(a)+str(b)
md5 = hashlib.md5(t.encode()).hexdigest()
if md5[1:2] == md5[14:15] and md5[14:15]== md5[17:18]:
print(t)
print(md5)
print(md5[1:2])
print(md5[14:15])
print(md5[17:18])
传入token=3j
web24
题目源码
error_reporting(0);
include("flag.php");
if(isset($_GET['r'])){
$r = $_GET['r'];
mt_srand(372619038);
if(intval($r)===intval(mt_rand())){
echo $flag;
}
}else{
highlight_file(__FILE__);
echo system('cat /proc/version');
}
根据seed生成随机数传入即可
web25
源码:
<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-09-03 13:56:57
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-03 15:47:33
# @email: h1xa@ctfer.com
# @link: https://ctfer.com
*/
error_reporting(0);
include("flag.php");
if(isset($_GET['r'])){
$r = $_GET['r'];
mt_srand(hexdec(substr(md5($flag), 0,8)));
$rand = intval($r)-intval(mt_rand());
if((!$rand)){
if($_COOKIE['token']==(mt_rand()+mt_rand())){
echo $flag;
}
}else{
echo $rand;
}
}else{
highlight_file(__FILE__);
echo system('cat /proc/version');
}
Linux version 5.4.0-71-generic (buildd@lcy01-amd64-020) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #79-Ubuntu SMP Wed Mar 24 10:56:57 UTC 2021 Linux version 5.4.0-71-generic (buildd@lcy01-amd64-020) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #79-Ubuntu SMP Wed Mar 24 10:56:57 UTC 2021
分析代码发现r=0
时输出一个随机数1093439231
,然后查找资料有前辈写的脚本可以根据随机数暴力猜出seed。
php_mt_seed
地址:下载地址
下载后解压跑数据:
最终试出seed为:853100086
,然后本地生成随机数,求出token
web26
看题是要爆破密码,抓包爆破
web27
先是爆破管理员密码,但是没爆出来;继续分析,看到录取名单,发现可以下载,有身份证和姓名,登录界面又有可以查询学籍的界面,所以想到爆破身份证获取信息。
这里爆破第二位同学嵇开梦
设置payload
爆破成功,Unicode解码
恭喜您,您已被我校录取,你的学号为10167653 初始密码为身份证号码
登录后:
web28
爆破目录