题目环境只保留了四个小时,wp也没出,没来得及复现,其他题也复现不了了,只能看看其他师傅的wp学习学习。
Misc
原神启动
解题思路:
下载附件得到两个文件,发现压缩文件解压需要密码,先看看png图片,放到stegsolve里面看看。


emm假flag,那应该就是解压密码,flag格式的密码真的难绷,解压得到一个docx文件,打开滚到35页好像发现flag,看不清,拿到stegsolve看看。


还是假的,把这个docx文件以zip打开,发现目录下还有一个img.zip,里面有个text.zip,需要解压密码,把刚得到的假flag拿去解压发现密码不对,看看目录下其他文件,最终在word文件夹里的document.xml,找到解压密码。


再拿去解压得到flag。

原神套娃,真的唐。
Crypto (这题当时AI一把梭秒了)
Easy
解题思路:
下载附件解压得到两个文件,密文,加密算法和key都给了,当时比赛就直接丢给通义给了个脚本秒了。


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| import base64
encoded_str = "MkpIbmdFcWs4MzVjR3BHRXFVVnZtZWJUQWtSTlNNamE1dGZYQTdwR25ac203SnJQV2FyTUdHQnA3Uk1XZDNZVFlTNTJjemVya1BCN0dBY2NBNkN4U1VBS29TalVBOU1tR1EyYUF0UVlHZTFYOXp1TThWS2o1OHdKRFJaVXhzTGRaZUpaTGV6NUFWc2JHdm5CbTdjV28yNTRyWGpzQURYdEhkSmJmWmtGREVEQWZWeEhFeDNYanNNODZMZVo2cnM2NExGbU5QeG1mUXBqQ3BoY3pCczlRa3kySnFZb1JzSnFtUnk0cW02WFgyOU50N1g2Vg==" decoded_bytes = base64.b64decode(encoded_str) decoded_str = decoded_bytes.decode('utf-8') print(decoded_str)
def rc4(key, data): S = list(range(256)) T = [ord(key[i % len(key)]) for i in range(256)] j = 0 for i in range(256): j = (j + S[i] + T[i]) % 256 S[i], S[j] = S[j], S[i] i = j = 0 result = [] for m in range(len(data)): i = (i + 1) % 256 j = (j + S[i]) % 256 S[i], S[j] = S[j], S[i] x = (S[i] + S[j]) % 256 result.append(data[m] ^ S[x]) return bytes(result)
key = "hello world"
hex_flag = "d8d2963e0d8ab8533d2a7fe296c5292339246eba0d292d5752578359322c3a77892dfa7261b84f"
data = bytes.fromhex(hex_flag)
decrypted_flag = rc4(key, data) print("Decrypted Flag:", decrypted_flag.decode('utf-8'))
|

赛后看了其他师傅的wp,想试一下用赛博厨子(还没用过不会用),结果出来乱码。。。。

Web
sign
解题思路:
当时密码和misc的签到都做出来了,偏偏web的不出,一个web手轻轻地碎了。
访问题目页面就给了passwd:sgin,看题目描述考虑post传参passwd=sgin,然后就。。。。失败了,然后盯着看了好久还是没思路,放弃了。后面题目放了hint,真的很简单,蚁剑连一下就行了,密码就是sign,flag就在根目录下。
