1.10日刷题记录
1.[UTCTF2020]docx
下载附件 拖入010中 看到熟悉的zip文件头

于是修改后缀为.zip
解压 获得一系列文件 最终在media中找到flag

flag{unz1p_3v3ryth1ng}
2.弱口令
下载打开 发现需要密码 但是在注释里面得到了一串不知名文字

于是复制到sublime里 全选

摩斯密码
.... . .-.. .-.. ----- ..-. --- .-. ..- --
解密一下HELL0FORUM
于是得到图片
分析一圈无果,看了别人的wp得知这是以弱口令为密码的lsb隐写
于是输入口令python2 lsb.py extract XXX.png 1.txt password

最后打开1.txt获得flagflag{jsy09-wytg5-wius8}

3.小易的U盘
打开附件 得到一个iso文件
拖入到010中找到这是rar的文件头

于是下一步改后缀名为rar 打开文件

下一步把副本32拖入ida中
打开之后找到flag

flag{29a0vkrlek3eu10ue89yug9y4r0wdu10}
4.[WUSTCTF2020]alison_likes_jojo
打开附件 得到两张图片
打开boki.jpg时 得到一个txt

于是我得知这个图片里含有压缩包
拖入kali直接foremost分离

打开文件需要密码 用ARCHPR直接爆破

打开文件得到base64编码

直接解密 解密三次 得到明文killerqueen
猜测可能是下一张图片的解密密码
看了别人的wp得知outguess隐写
口令outguess -k '[密码]' -r [文件] flag.txt
于是用kali解密

打开flag.txt
flag{pretty_girl_alison_likes_jojo}
5.[安洵杯 2019]吹着贝斯扫二维码
打开附件 得到36个文件,和一个带有密码的压缩包
用010打开其中的文件,看到了熟悉的文件头-jpg

于是返回修改试试

看来是二维码没错了
于是用脚本全部改一下
# coding=utf-8
import os
#将无后缀的文件加上.jpg
dir_list = os.listdir('./')
#print(dir_list)
for file in dir_list:
if '.' not in file:
# print(file)
os.rename(file, file+'.jpg')
下一步又找了个脚本将图片按顺序重命名
import os
from PIL import Image
#目录路径
dir_name = r"./"
#获取目录下文件名列表
dir_list = os.listdir('./')
#print(dir_list)
#从列表中依次读取文件
for file in dir_list:
if '.jpg' in file:
f=open(file ,'rb')
n1 = str(f.read())
n2 = n1[-3:]
#经过测试发现这里要读取最后3个字节,因为最后还有一个多余的字节,不知道是不是转字符串的原因导致在末尾多了一个字符
#print(file) #输出文件内容
#print(n2)
f.close() #先关闭文件才能重命名,否则会报`文件被占用`错误
os.rename(file,n2+'.jpg') #重命名文件
然后用ps拼接了一下

用qr research扫描得到信息

BASE Family Bucket ??? 85->64->85->13->16->32
猜测应该是按照顺序逐步解密
然后打开压缩包 在注释部分看到一些列明文

GNATOMJVIQZUKNJXGRCTGNRTGI3EMNZTGNBTKRJWGI2UIMRRGNBDEQZWGI3DKMSFGNCDMRJTII3TMNBQGM4TERRTGEZTOMRXGQYDGOBWGI2DCNBY
然后按顺序解码
base32:
3A715D3E574E36326F733C5E625D213B2C62652E3D6E3B7640392F3137274038624148
base16:
q]>WN62os<^b]!;,be.=n;v@9/17'@8bAH
base13:
:d]>JA62bf<^o]!;,or.=a;i@9/17'@8oNU
base85:
PCtvdWU4VFJnQUByYy4mK1lraTA=
base64:
<+oue8TRgA@rc.&+Yki0
basse85:
ThisIsSecret!233
终于得到密码
打开压缩包

flag{Qr_Is_MeAn1nGfuL}
6.[WUSTCTF2020]爬
打开压缩包 得到一个文件 用010打开 发现了pdf的文件头

添加文件后缀.pdf
用福昕阅读器打开

删掉这个上层图片,得到下面还有一张图片
0x77637466323032307b746831735f31735f405f7064665f616e645f7930755f63616e5f7573655f70686f7430736830707d
于是将此16进制转换为文字
flag{th1s_1s_@_pdf_and_y0u_can_use_phot0sh0p}
7.zip
打开附件 得到了32个压缩包 并且每一个都设置了密码,且文件大小只有四个字节
//看了别人的wp才得知可以用crc32爆破,因为这种方式要求的加密文件大小比较小
#!/usr/bin/python
#python3
import zipfile
import string
import binascii
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()
用了这个脚本得到了output.txt

z5BzAAANAAAAAAAAAKo+egCAIwBJAAAAVAAAAAKGNKv+a2MdSR0zAwABAAAAQ01UCRUUy91BT5UkSNPoj5hFEVFBRvefHSBCfG0ruGnKnygsMyj8SBaZHxsYHY84LEZ24cXtZ01y3k1K1YJ0vpK9HwqUzb6u9z8igEr3dCCQLQAdAAAAHQAAAAJi0efVT2MdSR0wCAAgAAAAZmxhZy50eHQAsDRpZmZpeCB0aGUgZmlsZSBhbmQgZ2V0IHRoZSBmbGFnxD17AEAHAA==
这是段base64
然后想使用在线解密 但是不太好用
于是又找了个脚本base64字节流写入
import base64
string = "z5BzAAANAAAAAAAAAKo+egCAIwBJAAAAVAAAAAKGNKv+a2MdSR0zAwABAAAAQ01UCRUUy91BT5UkSNPoj5hFEVFBRvefHSBCfG0ruGnKnygsMyj8SBaZHxsYHY84LEZ24cXtZ01y3k1K1YJ0vpK9HwqUzb6u9z8igEr3dCCQLQAdAAAAHQAAAAJi0efVT2MdSR0wCAAgAAAAZmxhZy50eHQAsDRpZmZpeCB0aGUgZmlsZSBhbmQgZ2V0IHRoZSBmbGFnxD17AEAHAA=="
nstr = base64.b64decode(string)
with open("out",'wb') as file: #注意:想要以字节流方式读取、写入,必须模式选择wb 或 rb
file.write(nstr)

下一步用010打开添加rar的文件头
RAR文件头52 61 72 21 1A 07 00

添加之后 保存 
然后添加后缀名.rar
打开压缩包 在旁边看到了flag

flag{nev3r_enc0de_t00_sm4ll_fil3_w1th_zip}

浙公网安备 33010602011771号