BuuCtf easy misc
easy misc
分析文件
- read文件夹里面是30个txt,其中有个hint ** 取前十六位** 没啥思路,剩下的txt 都是文章;
- decode压缩包,一个数学题应该要算
- 还有一个png图片
decode压缩包入手
算出来是7 +NNULLULL,这里就考虑掩码攻击上ARCHPR.exe工具 先试一试数字
对于不知道的几位用 ? 来替代
解得密码
密码是:2019456NNULLULL,
得到一个decodetxt
a = dIW
b = sSD
c = adE
d = jVf
e = QW8
f = SA=
g = jBt
h = 5RE
i = tRQ
j = SPA
k = 8DS
l = XiE
m = S8S
n = MkF
o = T9p
p = PS5
q = E/S
r = -sd
s = SQW
t = obW
u = /WS
v = SD9
w = cw=
x = ASD
y = FTa
z = AE7
这里应该是用后面的字符来替换前面的字符很明显了是个–想到字符频率统计 但是太多的txt文档了,不知道是哪一个继续做
小姐姐png
首先试一试能binwalk 出什么东西吗
两张一样的图片-- 思路盲水印
用bwmforpy3.py 这个再GitHub上能搜得到
用法:python bwmforpy3.py decode image + image(encoded) -> watermark
但是这里不知道为啥 用生成不了该有的样子看了一下大佬的wp 得出的应该是11 但是我这里生成不了 不知道是什么原因
就是那个read文件了
很明显了就是对那个11.txt文件进行字母出现的频率进行分析还有就是hint意思是去取前16按大到小的顺序
import string
alphabet ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()\_+-/={}[]"
file =open('11.txt','r')
txt= file.read()
result={}
for i in alphabet:
count= txt.count(i)
result[i]=count
res = sorted(result.items(),key=lambda item:item[1],reverse=True)
for i in range(16):
print(res[i][0])
得到:etaonrhisdluygwm
然后对应过去得到
QW8obWdIWT9pMkFSQWtRQjVfXiE/WSFTajBtcw==
base64 再base85解密(用basecrack.py 很容易得出)
可以去GIthub上去下载
解密得到 flag{have_a_good_day1}