文件是64位的elf程序,用Python写的。
直接在kali下执行,返回一句“you wish it was that easy!”
程序拖到IDA里,在Py_FrozenMain函数中看到取环境变脸“PYTHONINSPECT”和“PYTHONUNBUFFERED”。如果都有,会产生几个文件。
在kali2里先设置环境变量,然后执行程序
root@kali:~/ctf# export PYTHONINSPECT=1
root@kali:~/ctf# export PYTHONUNBUFFERED=2
root@kali:~/ctf# ./recursive_python
在目录下会产生4个文件,也都是elf程序,执行一下
root@kali:~/ctf# ./unstep_34a4d33b
Traceback (most recent call last):
File "./flag_1.py", line 4, in <module>
IOError: [Errno 26] Text file busy: 'unstep_579c82e9'
root@kali:~/ctf# ./unstep_579c82e9
Traceback (most recent call last):
File "./flag_0.py", line 4, in <module>
IOError: [Errno 26] Text file busy: 'unstep_f67baaeb'
root@kali:~/ctf# ./unstep_f67baaeb
You wish it was that easy!
发现unstep_f67baaeb会输出报错,把他拖到IDA中,直接就可以看见flag
转自实验吧,原文作者实验吧ID b1uehat