CTFSHOW-web入门-爆破

爆破

web21

输入用户名和密码 admin 123456

image-20210726211052553

抓包可以看到会把[用户名:密码]加密成base64

payload type使用Custom iterator

第一段为admin

image-20210726211605851

第二段为:

image-20210726211639477

第三段为字典

image-20210726211737295

加密成base64形式 并取消urlencode编码

image-20210726212135277

image-20210726212147815

image-20210726212205726

web22

web23

对两位数进行md5加密

int不能转换字母 遇到字母会报错

1
2
3
4
5
6
7
8
9
10
import hashlib
dic = '0123456789qazwsxedcrfvtgbyhnujmikolp'
for a in dic:
for b in dic:
t = str(a)+str(b)
m=hashlib.md5(t.encode('utf-8')).hexdigest()
if(m[1:2]==m[14:15]==m[17:18]):
if(int(m[1:2])+int(m[14:15])+int(m[17:18])/int(m[1:2])==int(m[31:32])):
print(a+b)
exit()

web24

web25

题目源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
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

通过源码可以得知

先利用flag当种子

1
mt_srand(hexdec(substr(md5($flag), 0,8)));

然后用传参的r减去第一个随机数

1
$rand = intval($r)-intval(mt_rand());

这时候我们传r=0得到第一个随机数

image-20210726185514755

利用php_mt_seed工具爆破种子

image-20210726185620450

前面抓包可以知道php版本为7.3

所以种子应该是这三个其中之一

1
2
3
4
5
$rand = intval($r)-intval(mt_rand());
if((!$rand)){
if($_COOKIE['token']==(mt_rand()+mt_rand())){
echo $flag;
}

先传入rand等于第一个随机数 保证其减去本身$rand=0

if中!0为真 脚本继续运行

更改cookie为后两个随机数之和 然后抓包更改cookie

经过实验 第二个种子读出了flag

image-20210726185738232

image-20210726185948396

web26

下载录取名单

进入信息查询api

http://632e82ba-2bda-495b-8e7d-07bcb013b353.challenge.ctf.show:8080/info/checkdb.php

构造js里看到的用户名和密码

抓包

构造身份证中缺少的出生日期

image-20210726213006198

爆破得到返回信息

然后登陆得到flag

web27

选择Cluster bomb攻击模式

删除2.txt 增加两个爆破变量

image-20210726213833870

爆破得到flag

image-20210726214220502

image-20210726214228298

###