ToB企服应用市场:ToB评测及商务社交产业平台

标题: BUUCTF-Misc(81-90) [打印本页]

作者: 渣渣兔    时间: 2024-5-31 22:26
标题: BUUCTF-Misc(81-90)
从娃娃抓起



第一句话是中文电码中文电码查询 - 中文电码转换 - 中文电码对照表 (bmcx.com)

第二句话是五笔编码汉字五笔编码批量查询:86版五笔编码、98版五笔编码、18030版五笔编码;五笔编码反查汉字 - 千千秀字 (qqxiuzi.cn)
  1. 人工智能也要从娃娃抓起
复制代码
  1. flag{3b4b5dccd2c008fe7e2664bd1bc19292}
复制代码
zip

解压后很多压缩包,但是内里压缩包加密的data.txt都比较小,都为4字节,所以我们尝试
crc32爆破
采用师傅的脚本
  1. import zipfile
  2. import string
  3. import binascii
  4. import os
  5. filepath=r'D:/EdgeDownload/b2ca8799-13d7-45df-a707-94373bf2800c'
  6. os.chdir(filepath)
  7. def CrackCrc(crc):
  8.     for i in dic:
  9.        for j in dic:
  10.           for k in dic:
  11.              for h in dic:
  12.                 s = i + j + k + h
  13.                 if crc == (binascii.crc32(s.encode())):
  14.                    f.write(s)
  15.                    return
  16. def CrackZip():
  17.     for i in range(0,68):
  18.        file = 'out'+str(i)+'.zip'
  19.        crc = zipfile.ZipFile(file,'r').getinfo('data.txt').CRC
  20.        CrackCrc(crc)
  21.        print('\r'+"loading:{:%}".format(float((i+1)/68)),end='')
  22. dic = string.ascii_letters + string.digits + '+/='
  23. f = open('out.txt','w')
  24. print("\nCRC32begin")
  25. CrackZip()
  26. print("CRC32finished")
  27. f.close()
复制代码
得到

base64解密

发现是rar文件格式
RAR文件格式学习(了解)_rar文件头-CSDN博客
我们在前面补上文件头,规复之后在注释找到flag
  1. 52 61 72 21 1A 07 00
复制代码

[GUET-CTF2019]zips

没有啥线索,爆破一下

然后又是一个加密压缩包,是伪加密

这里可以看到密码是时间戳

然后掩码攻击


得到flag

UTCTF2020]file header

这道题提示了文件头,加上就行

  1. flag{3lit3_h4ck3r}
复制代码
[XMAN2018排位赛]通行证

base64解密,直接提交不对

然后内里有{},有可能是栅栏,然后key=5有点像但不是,背面搜了说是加密key=7

然后就是凯撒密码,key=13
  1. flag{oyay_now_you_get_it}
复制代码
[WUSTCTF2020]girlfriend

有个音频文件,就是莫斯密码
  1. --- . ... . .. . . . ... . .. . . . .-- . - . ... . ... . ..- . ... . ... . ... . .. . .. . . . ....
复制代码
解密出来

然后发现猜错了
不是莫斯,是拨号声音,按键,这次也是学到了
  1. 999*666*88*2*777*33*6*999*4*4444*777*555*333*777*444*33*66*3*7777
复制代码
然后手机调成拼音9键,去打
  1. flag{youaremygirlfriends}
复制代码
[DDCTF2018](╯°□°)╯︵ ┻━┻

参考:
[BUUCTF:[DDCTF2018](╯°□°)╯︵ ┻━┻_ddctf2018╯︵ ┻━┻-CSDN博客](https://blog.csdn.net/mochu7777777/article/details/105324802)
看了题解,就是字符串截取两位16进制->转10进制->都减去128为ASCII码->转字符
太菜了,我真看不出来,看一下大佬的题解脚本吧
  1. # -*- coding:utf-8 -*-
  2. # author: mochu7
  3. def hex_str(str):#对字符串进行切片操作,每两位截取
  4.     hex_str_list=[]
  5.     for i in range(0,len(str)-1,2):
  6.         hex_str=str[i:i+2]
  7.         hex_str_list.append(hex_str)
  8.     print("hex列表:%s\n"%hex_str_list)
  9.     hex_to_str(hex_str_list)
  10. def hex_to_str(hex_str_list):
  11.     int_list=[]
  12.     dec_list=[]
  13.     flag=''
  14.     for i in range(0,len(hex_str_list)):#把16进制转化为10进制
  15.         int_str=int('0x%s'%hex_str_list[i],16)
  16.         int_list.append(int_str)
  17.         dec_list.append(int_str-128)#-128得到正确的ascii码
  18.     for i in range(0,len(dec_list)):#ascii码转化为字符串
  19.         flag += chr(dec_list[i])
  20.     print("转化为十进制int列表:%s\n"%int_list)
  21.     print("-128得到ASCII十进制dec列表:%s\n"%dec_list)
  22.     print('最终答案:%s'%flag)
  23. if __name__=='__main__':
  24.     str='d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd'
  25.     print("字符串长度:%s"%len(str))
  26.     hex_str(str)
复制代码

[MRCTF2020]千层套路

参考:
[BUUCTF:MRCTF2020]千层套路-CSDN博客
第一个加密压缩包,暴力破解

这边解了好多,发现都是和文件名一样,开始脚本
  1. import os
  2. import zipfile
  3. filepath=r'D:/EdgeDownload/ff'
  4. os.chdir(filepath)
  5. name = '0573'
  6. while True:
  7.     fz = zipfile.ZipFile(name + '.zip', 'r')
  8.     fz.extractall(pwd=bytes(name, 'utf-8'))
  9.     name = fz.filelist[0].filename[0:4]
  10.     fz.close()
复制代码
得到一个qr.txt

这个是rgb,我们开始脚本绘图
  1. from PIL import Image
  2. import os
  3. filepath=r'D:/EdgeDownload/ff/qr'
  4. os.chdir(filepath)
  5. x = y = 200
  6. img = Image.new('RGB',(x,y))
  7. file = open('qr.txt','r')
  8. for width in range(0,x):
  9.     for height in range(0,y):
  10.         line=file.readline()
  11.         line=line.strip()
  12.         line=line.replace('(','')
  13.         line=line.replace(')','')
  14.         rgb = line.split(',')
  15.         img.putpixel((width,height),(int(rgb[0]),int(rgb[1]),int(rgb[2])))
  16. print('绘制完毕')
  17. file.close()
  18. img.save('flag.jpg')
复制代码
得到一个二维码,扫一下

得到flag

百里挑一

因为是一个流量包,我们需要给图弄出来,所以导出http格式,好多图
然后exiftool分析一下,得到一半flag

剩下一半,在tcp流114中

最后拼一下
  1. flag{ae58d0408e26e8f26a3c0589d23edeec}
复制代码
[SUCTF2018]followme

我直接全部导出了http的对象

然后搜索字符串,找到flag
  1. flag{password_is_not_weak}
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4