buuoj 5天misc计划(0x03)
[HBNIS2018]低个头
下载附件,查看里面内容

我低头看了半天,还是迷迷糊糊的
原来是叫我低头看键盘

flag{CTF}
~~低头了低头了 ~~
[SWPU2019]你有没有好好看网课?
我好好看了网课,还是卡壳了
下载解压

两个压缩包都有密码,还都不是伪加密
只有暴力解压一下,发现6位数字密码可以暴力破解
使用Ziperello或者ARCHPR,但是咱的ARCHPR好像是试用的,不让我试6位

使用密码183792解密flag3
得到一个文件和一个视频

打开文件

本列文虎克这次确实没懂怎么做,可恶
参考链接:https://blog.csdn.net/mochu7777777/article/details/109449494
根据提示,我们看一下5秒20(实际上好像是5秒63左右有个加密信息)和7秒11(7秒33左右)的视频是怎样的


第二个应该是base64编码
解码如下

第一个密码是敲击码
参考链接:https://www.hyluz.cn/post/44.html

最终flag2压缩包解压密码:wllmup_up_up
解压后是一个图片,我们使用010editor打开后发现如下一幕:

flag{A2e_Y0u_Ok?}
我吃三明治
这个题,疏忽了啊,直接用binwalk提取文件了,谁知道它两个文件之间还有点什么小九九
小九九如下

得到一串编码
MZWGCZ33GZTDCNZZG5SDIMBYGBRDEOLCGY2GIYJVHA4TONZYGA2DMM3FGMYH2
针对base16,base32,base64看加密的字符有多少个,这玩意是个base32
解密网站:http://www.atoolbox.net/Tool.php?Id=931
flag{6f1797d4080b29b64da5897780463e30}
喵喵喵
这个题难度还是不错
首先我们下载附件,发现是一只猫的图片
使用binwalk未发现有用的信息,然后使用zsteg命令发现LSB好像有什么隐藏信息

使用Stegsolve查看最低有效位,得到如下结果

保存下来,发现是一个png,但是文件头有多余的数据,修改之后可以得到半张二维码

很明显是修改了长高,我们使用py程序计算长高



得到一个完整的二维码,使用QR_Research扫描二维码,得到一个百度网盘地址:https://pan.baidu.com/s/1pLT2J4f
去网站下载内容,得到一个txt文件

玩我吧,说没有就没有
我还真以为没有
参考其他博客,发现又是NTFS文件流隐写
参考链接:https://blog.csdn.net/mochu7777777/article/details/109368451
针对NTFS文件流隐写,之前采用的策略是使用lads.exe扫描一边然后使用notepad命令读出来


全是乱码,使用网站反编译的时候显示错误

推测这种情况应该不能直接用notepad打开,得直接用.pyc后缀保存了,再次反编译应该可以
使用NtfsStreamsEditor


Python反编译网站:https://tool.lu/pyc/
得到以下python代码:
#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 2.7
import base64
def encode():
flag = '*************'
ciphertext = []
for i in range(len(flag)):
s = chr(i ^ ord(flag[i]))
if i % 2 == 0:
s = ord(s) + 10
else:
s = ord(s) - 10
ciphertext.append(str(s))
return ciphertext[::-1]
ciphertext = [
'96',
'65',
'93',
'123',
'91',
'97',
'22',
'93',
'70',
'102',
'94',
'132',
'46',
'112',
'64',
'97',
'88',
'80',
'82',
'137',
'90',
'109',
'99',
'112']
很明显,解出flag就行了
解码代码如下:
def slove():
ciphertext = [
'96',
'65',
'93',
'123',
'91',
'97',
'22',
'93',
'70',
'102',
'94',
'132',
'46',
'112',
'64',
'97',
'88',
'80',
'82',
'137',
'90',
'109',
'99',
'112']
ciphertext = ciphertext[::-1]
res = []
for i in range(len(ciphertext)):
if i % 2 == 0:
s = int(ciphertext[i])
s-=10
else:
s = int(ciphertext[i])
s+=10
s = s ^ i
res.append(chr(s))
for i in res:
print(i,end='')
if __name__ == '__main__':
slove()
最终的flag如下:

浙公网安备 33010602011771号