1.10日刷题记录

1.[UTCTF2020]docx

下载附件 拖入010中 看到熟悉的zip文件头

image-20230110155330360

于是修改后缀为.zip

解压 获得一系列文件 最终在media中找到flag

image-20230110160010242

flag{unz1p_3v3ryth1ng}

2.弱口令

下载打开 发现需要密码 但是在注释里面得到了一串不知名文字

image-20230110152322459

于是复制到sublime里 全选

image-20230110152444314

摩斯密码

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

解密一下HELL0FORUM

image-20230110153020860

于是得到图片

分析一圈无果,看了别人的wp得知这是以弱口令为密码的lsb隐写

于是输入口令python2 lsb.py extract XXX.png 1.txt password

image-20230110154522985

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

image-20230110154624926

3.小易的U盘

打开附件 得到一个iso文件

拖入到010中找到这是rar的文件头

image-20230110172004783

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

Snipaste_2023-01-10_17-25-13

下一步把副本32拖入ida中

打开之后找到flag

Snipaste_2023-01-10_17-29-38

flag{29a0vkrlek3eu10ue89yug9y4r0wdu10}

4.[WUSTCTF2020]alison_likes_jojo

打开附件 得到两张图片

打开boki.jpg时 得到一个txt

Snipaste_2023-01-10_17-40-45

于是我得知这个图片里含有压缩包

拖入kali直接foremost分离

image-20230110174359675

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

image-20230110174628128

打开文件得到base64编码

image-20230110175015674

直接解密 解密三次 得到明文killerqueen

image-20230110175006213

猜测可能是下一张图片的解密密码

看了别人的wp得知outguess隐写

口令outguess -k '[密码]' -r [文件] flag.txt

于是用kali解密

image-20230110180048176

打开flag.txt

flag{pretty_girl_alison_likes_jojo}

5.[安洵杯 2019]吹着贝斯扫二维码

打开附件 得到36个文件,和一个带有密码的压缩包

用010打开其中的文件,看到了熟悉的文件头-jpg

image-20230110183630593

于是返回修改试试

3e7g7a0609x17094m037

看来是二维码没错了

于是用脚本全部改一下

# 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拼接了一下

image-20230110185215502

qr research扫描得到信息

image-20230110185359115

BASE Family Bucket ??? 85->64->85->13->16->32

猜测应该是按照顺序逐步解密

然后打开压缩包 在注释部分看到一些列明文

image-20230110185700762

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

终于得到密码

打开压缩包

image-20230110190140993

flag{Qr_Is_MeAn1nGfuL}

6.[WUSTCTF2020]爬

打开压缩包 得到一个文件 用010打开 发现了pdf的文件头

image-20230110195438756

添加文件后缀.pdf

福昕阅读器打开

image-20230110195635985

删掉这个上层图片,得到下面还有一张图片

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

image-20230110201226266

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)

image-20230110201740754

下一步用010打开添加rar的文件头

RAR文件头52 61 72 21 1A 07 00

Snipaste_2023-01-10_20-22-39

添加之后 保存 Snipaste_2023-01-10_20-31-02

然后添加后缀名.rar

打开压缩包 在旁边看到了flag

image-20230110202931654

flag{nev3r_enc0de_t00_sm4ll_fil3_w1th_zip}

posted @ 2023-01-10 20:44  ZJFAKE  阅读(42)  评论(0)    收藏  举报