# Misc

# i have the flag

附件得到 js 文件和 html,分析 js 代码和前端代码的关系

html 中调用了 checkToken 函数

js 代码中的 checkToken 是这么写的

但是直接进行校验明显不对

发现 ic 是判断条件,需要跟踪寻找 ic

直接写脚本逆向即可

1
2
3
4
5
key1=[118, 108, 112, 115, 111, 104, 104, 103, 120, 52, 53, 54]
token=""
for i in key1:
token+=chr(i-3)
print(token)

得到:

1
simpleedu123

放入前端进行校验

flag{muWn9NU0H6erBN/w+C7HVg}

# 幸运饼干

得到两个文件,发现 flag.zip 被加密,且其中也有同样的 hint.jpg,直接明文爆破

将 hint.jpg 用 bandzip 进行压缩之后 ARCHPR 明文爆破

解压出四个文件

在 admin.txt 中对 ntlm 进行解码得到 password:54231

接着根据 SID 压缩包中的 GUID 文件,利用 mimikatz 获取到 masterkey

1
dpapi::masterkey /in:"master.key" /sid:S-1-5-21-726299542-2485387390-1117163988-1001 /password:54231

这里的 master.key 文件就是 SID 压缩包中的文件

得到 key

1
7a4d2ffbb42d0a1ab46f0351260aef16cae699e03e9d6514b3bf10e2977c5d228fda4a48e39b7b8a06a443c39653c2a3c3656596e7edc84e1c9682511c8343ac

再利用 key 对 Cookies 进行 chrome 解密得到 flag

1
dpapi::chrome /in:Cookies /masterkey: 7a4d2ffbb42d0a1ab46f0351260aef16cae699e03e9d6514b3bf10e2977c5d228fda4a48e39b7b8a06a443c39653c2a3c3656596e7edc84e1c9682511c8343ac /file:Cookies

flag{mimikatz_is_bravo_xzjc72}

# 数独

附件得到两张图片

不知道算不算非预期,gaps 算好 size 一把梭就好了

1
gaps --image=image.png --generations=40 --population=120 --size=70

按顺序拼接得到 flag

flag{4e4d6c332b6fe62a63afe56171fd3725}

# jpginside

查看文件头发现是 pyc 文件,修改后缀进行反编译

1
2
3
4
5
store = [] #数据太长已省略
key = raw_input('Please input the key:')
with open('excellent.jpg', 'wb') as jpg:
for i in range(len(store)):
jpg.write(chr(store[i] ^ ord(key[i % len(key)])))

key[i %
len (key)] 在前几位还是 key [i] 本身,可以根据异或反推出 key:rotate1234!

再根据 key 推回完整的 jpg 文件

1
2
3
4
5
store = [] #数据已省略
key = 'rotate1234!'
with open('out.jpg', 'wb') as jpg:
for i in range(len(store)):
jpg.write(bytes([store[i] ^ ord(key[i % len(key)])]))

发现文件末尾有 zip 文件,其中头部两字节被修改

改回 504b 手撕出来

得到加密 txt,密码就是 key,得到

1
jpek{39i0jf49229fie5j33f02403hj953012}

凯撒枚举偏移得到 flag

flag{39e0fb49229bea5f33b02403df953012}

更新于