关注这个靶场的其它相关笔记:攻防世界(XCTF) —— 靶场笔记合集-CSDN博客
0x01:考点速览
想要通过本关,你需要掌握以下知识点:
-
Stegolve 查看图片隐写内容。
-
了解 pyc 文件,并知道如何通过 WinHex 还原 pyc 文件。
-
知道如何将 pyc 文件反编译回 Py 文件 => EasyPythonDecompiler。
0x02:Write UP
将附件从靶场上下载下来,使用 Stegolve 这款图片隐写解析器打开图片,点击工具下面的 <>
切换图片的查看模式到 Red Plane 1 即可看到一张二维码:
然后使用 Umi-OCR 识别这张二维码,你会得到一串十六进制数据:
将十六进制数据利用在线工具转化成 ASCII 字符,可以定位到几个关键信息 flag
、1.py
:
我们基本可以确定 Flag 就包含在这里面了,结合 1.py
和二进制我们可以推测出该文件是一个 pyc
文件,即由 Py 文件编译后生成的文件,我们首先得利用这些二进制数据还原回原本的 1.pyc
文件。
这里我们需要用到 WinHex 这款工具,将十六进制输入导入后保存为 1.pyc
即可(Ctrl + S 即可保存):
保存完成后我们需要使用 EasyPythonDecompiler 这款 Python 反编译工具对 pyc 文件进行反编译:
反编译完后会有一个 1.pyc_dis 文件,里面其实就是 Python 代码,我们将它的后缀改为 1.py,然后修改一下内部代码就可以运行拿到Flag 了: