BUUCTF-Misc(81-90)

从娃娃抓起

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

第二句话是五笔编码汉字五笔编码批量查询:86版五笔编码、98版五笔编码、18030版五笔编码;五笔编码反查汉字 - 千千秀字 (qqxiuzi.cn)

人工智能也要从娃娃抓起

flag{3b4b5dccd2c008fe7e2664bd1bc19292}

zip

解压后很多压缩包,但是里面压缩包加密的data.txt都比较小,都为4字节,所以我们尝试

crc32爆破

采用师傅的脚本

import zipfile
import string
import binascii
import os
filepath=r'D:/EdgeDownload/b2ca8799-13d7-45df-a707-94373bf2800c'
os.chdir(filepath)
def CrackCrc(crc):
    for i in dic:
       for j in dic:
          for k in dic:
             for h in dic:
                s = i + j + k + h
                if crc == (binascii.crc32(s.encode())):
                   f.write(s)
                   return

def CrackZip():
    for i in range(0,68):
       file = 'out'+str(i)+'.zip'
       crc = zipfile.ZipFile(file,'r').getinfo('data.txt').CRC
       CrackCrc(crc)
       print('\r'+"loading:{:%}".format(float((i+1)/68)),end='')

dic = string.ascii_letters + string.digits + '+/='
f = open('out.txt','w')
print("\nCRC32begin")
CrackZip()
print("CRC32finished")
f.close()

得到

base64解密

发现是rar文件格式

RAR文件格式学习(了解)_rar文件头-CSDN博客

我们在前面补上文件头,恢复之后在注释找到flag

52 61 72 21 1A 07 00

[GUET-CTF2019]zips

没有啥线索,爆破一下

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

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

然后掩码攻击

得到flag

UTCTF2020]file header

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

flag{3lit3_h4ck3r}

[XMAN2018排位赛]通行证

base64解密,直接提交不对

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

然后就是凯撒密码,key=13

flag{oyay_now_you_get_it}

[WUSTCTF2020]girlfriend

有个音频文件,就是莫斯密码

--- . ... . .. . . . ... . .. . . . .-- . - . ... . ... . ..- . ... . ... . ... . .. . .. . . . ....

解密出来

然后发现猜错了

不是莫斯,是拨号声音,按键,这次也是学到了

999*666*88*2*777*33*6*999*4*4444*777*555*333*777*444*33*66*3*7777

然后手机调成拼音9键,去打

flag{youaremygirlfriends}

[DDCTF2018](╯°□°)╯︵ ┻━┻

参考:

[BUUCTF:[DDCTF2018](╯°□°)╯︵ ┻━┻_ddctf2018╯︵ ┻━┻-CSDN博客](https://blog.csdn.net/mochu7777777/article/details/105324802)

看了题解,就是字符串截取两位16进制->转10进制->都减去128为ASCII码->转字符

太菜了,我真看不出来,看一下大佬的题解脚本吧

# -*- coding:utf-8 -*-
# author: mochu7
def hex_str(str):#对字符串进行切片操作,每两位截取
    hex_str_list=[]
    for i in range(0,len(str)-1,2):
        hex_str=str[i:i+2]
        hex_str_list.append(hex_str)
    print("hex列表:%s\n"%hex_str_list)
    hex_to_str(hex_str_list)

def hex_to_str(hex_str_list):
    int_list=[]
    dec_list=[]
    flag=''
    for i in range(0,len(hex_str_list)):#把16进制转化为10进制
        int_str=int('0x%s'%hex_str_list[i],16)
        int_list.append(int_str)
        dec_list.append(int_str-128)#-128得到正确的ascii码
    for i in range(0,len(dec_list)):#ascii码转化为字符串
        flag += chr(dec_list[i])
    print("转化为十进制int列表:%s\n"%int_list)
    print("-128得到ASCII十进制dec列表:%s\n"%dec_list)
    print('最终答案:%s'%flag)

if __name__=='__main__':
    str='d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd'
    print("字符串长度:%s"%len(str))
    hex_str(str)

[MRCTF2020]千层套路

参考:

[BUUCTF:MRCTF2020]千层套路-CSDN博客

第一个加密压缩包,暴力破解

这边解了好多,发现都是和文件名一样,开始脚本

import os
import zipfile
filepath=r'D:/EdgeDownload/ff'
os.chdir(filepath)
name = '0573'
while True:
    fz = zipfile.ZipFile(name + '.zip', 'r')
    fz.extractall(pwd=bytes(name, 'utf-8'))
    name = fz.filelist[0].filename[0:4]
    fz.close()

得到一个qr.txt

这个是rgb,我们开始脚本绘图

from PIL import Image
import os

filepath=r'D:/EdgeDownload/ff/qr'
os.chdir(filepath)
x = y = 200
img = Image.new('RGB',(x,y))
file = open('qr.txt','r')
for width in range(0,x):
    for height in range(0,y):
        line=file.readline()
        line=line.strip()
        line=line.replace('(','')
        line=line.replace(')','')
        rgb = line.split(',')
        img.putpixel((width,height),(int(rgb[0]),int(rgb[1]),int(rgb[2])))
print('绘制完毕')
file.close()
img.save('flag.jpg')

得到一个二维码,扫一下

得到flag

百里挑一

因为是一个流量包,我们需要给图弄出来,所以导出http格式,好多图

然后exiftool分析一下,得到一半flag

剩下一半,在tcp流114中

最后拼一下

flag{ae58d0408e26e8f26a3c0589d23edeec}

[SUCTF2018]followme

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

然后搜索字符串,找到flag

flag{password_is_not_weak}

热门相关:剑仙三千万   名门极致宠妻   逍遥小镇长   满级绿茶穿到八十年代重新做人   腹黑boss霸宠:逃妻,吻我