弱口令、子域名、md5、伪随机数、目录爆破与CTF实战

[复制链接]
发表于 2024-11-8 11:05:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
web 21——弱口令爆破&custom iterator

进去要求输入账号密码,账号输入admin,一般来说管理员用户名都会是这个,密码恣意输,然后burpsuite抓包
可以看到账号密码在Authorization传输,情势是账号:密码的base64加密,把他发到Intruder模块

模式选sniper,因为要对整个账号密码字符进行加密,不能分开爆破,选中要爆破的地方

选择custom iterator模式,在位置1写入admin,分隔符写:

位置2导入提供的字典

添加base64加密,取消选中Palyload Encoding编码,因为在进行base64加密的时候在最后大概存在==这样就会影响base64加密的结果

开始攻击,点击状态码进行筛选,找到爆破出的密码,将密码解密后为shark63,输入即可得到flag

web 22——子域名爆破&oneforall

OneForAll,是 shmilylty 在 Github 上开源的子域收集工具,可以实现对子域名的爆破
  1. python oneforall.py --target ctf.show run
复制代码
可以看到爆破出了许多结果,不过这题的域名失效了,不然应该会有一个flag.ctf.show

web 23——md5爆破&burp&python

看一下代码,通过get方式提交一个token参数,要求MD5 加密结果的第 2 位、第 15 位、第 18 位字符是否相称,且这三位字符的数字之和除以第 2 位字符的值是否便是第 32 位字符的数字值

方法1——burpsuite爆破

不管他到底什么条件,直接burpsuite爆破数字0-500,发现422的时候返回长度不同,422就是满足条件的

方法2——python脚本爆破

通过遍历二字符的字符串,寻找符合条件的字符串,得到两个可用字符串3j和ZE
[code]import hashlib    dic = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"  for a in dic:      for b in dic:          t = str(a) + str(b)          md5 = hashlib.md5(t.encode('utf-8')).hexdigest()            if md5[1] == md5[14] == md5[17]:  # 确保这些位置的字符相同              # 确保这些字符是数字              if 48
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表