BUUCTF-Misc(111-120)
[UTCTF2020]File Carving
010editor打开发现了一个压缩包
解压出来一个ELF文件
我们拖到虚拟机去运行一下吧
得到flag
flag{2fbe9adc2ad89c71da48cabe90a121c0}
二维码
参考:
BUUCTF:二维码 - B0mbax - 博客园 (cnblogs.com)
ps修复一下,我也不会,用的大佬的
flag{7bf116c8ec2545708781fd4a0dda44e5}
[watevrCTF 2019]Evil Cuteness
010editor打开,文章末尾有压缩包
binwalk提取,解压一下就得到flag
派大星的烦恼
参考:
BUUCTF 派大星的烦恼 - Harmonica11 - 博客园 (cnblogs.com)
010editor打开这图片,发现一大串"
以及D
接下来编写脚本给他们转成二进制,刚好256个,256/8=32
import os
file = r'E:/Download'
os.chdir(file)
w=open('3.txt','w')
with open('1.txt') as f:
for i in f.read():
x = ''
if i=='\"':
x='0'
elif i=='D':
x='1'
w.write(x)
w.close()
0110110000101100000011000110110010011100101011000000110010000110101011000010110010001100000111000010110001000110001001101010110001100110101001100110110001000110011011001010011010101100010001100010110011000110101001100010110011001100000111001100110001001100
然后二进制转一下字符
失败了,一堆稀奇古怪的字符
然后这里推测应该是每八位二进制逆序了,所以我们需要反逆回来
import os
file = r'E:/Download'
os.chdir(file)
result=[]
flag=''
with open('3.txt') as f:
s=f.read()
for i in range(0,len(s),8):
str =s[i:i+8]
str=str[::-1]
result.append(str)
flag=''.join(result)
print(flag)
0011011000110100001100000011011000111001001101010011000001100001001101010011010000110001001110000011010001100010011001000011010101100110011001010011011001100010001101100110010100110101011000100011010001100011011001010011010000110011001110000011001100110010
最后得到flag
flag{6406950a54184bd5fe6b6e5b4ce43832}
[QCTF2018]X-man-A face
打开是一个空缺的二维码图片,搜索了解得知缺少了定位角
我们ps给他补全
然后扫描一下
KFBVIRT3KBZGK5DUPFPVG2LTORSXEX2XNBXV6QTVPFZV6TLFL5GG6YTTORSXE7I=
随波逐流解密一下,base32 解密
[INSHack2017]sanity
打开就有flag
key不在这里
参考:
buuctf MISC - key不在这里_buuctf key不在这里-CSDN博客
打开就是一个二维码
得到一个网址
访问了一下,是直接搜wp的,哈哈哈哈哈哈哈
然后发现这一串可疑的字符
10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568
然后可能是转ascii码,用一下师傅的脚本吧
def extract_numbers(input_string):
# 初始化指针
pointer = 0
result = []
while pointer < len(input_string):
# 如果开头是1,向后取3位
if input_string[pointer] == '1':
extracted_number = input_string[pointer:pointer + 3]
pointer += 3
else:
# 否则向后取2位
extracted_number = input_string[pointer:pointer + 2]
pointer += 2
# 将提取的数字添加到结果列表中
result.append(int(extracted_number))
return result
input_string = '10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568'
numbers = extract_numbers(input_string)
flag = ''
for i in numbers:
flag += chr(i)
flag = flag.replace('%7B', '{')
flag = flag.replace('%7D', '}')
print(flag)
[MRCTF2020]不眠之夜
参考:
[BUUCTF:MRCTF2020]不眠之夜_buuctf 不眠之夜-CSDN博客
拼图,一共120张,应该就是10*12,也就是2000*1200
我们先拼接起来,我用的是imagemagic
magick.exe montage ./1/*.jpg -tile 10x12 -geometry +0+0 flag.jpg
得到一个拼接好的图
然后使用gaps拼接
gaps run ./flag.jpg new.jpg --generations=120 --population=120 --size=100
flag{Why_4re_U_5o_ShuL1an??}
粽子的来历
参考:BUUCTF:粽子的来历 - B0mbax - 博客园 (cnblogs.com)
是四个word,但是都破损了,打不开
010editor打开这些文件,发现
把他们都改成FF,也就是ÿ
修复好打开是这个,然后注意到他的行之间的间距不一样
然后就把大间距当成1,小间距成0(反正我觉得不太好看出来的,我太笨了)
100100100001
然后题目提示了32位,拿去md5加密
hashcat
得到一张无后缀的图片,我们丢入伟大的B神开发的PuzzleSolver免费版
那我们就改成ppt(经测试doc是不行的)
改完之后,他要我密码
这边我是用hashcat(感谢好群友的帮忙)
hashcat.exe -m 9500 hash.txt -a 3 ?d?d?d?d -o out.txt --show
得到密码就是9919
打开文件,倒数第二张ppt选中,标红