我想了解python pickle模块中的漏洞利用示例? 我从github获得了一个代码,它显示了pickle模块中的漏洞,但仍然无法理解它。请指导我。
Box
答案 0 :(得分:5)
当你取消对象的取消时,会调用__reduce__方法。 __reduce__的第一个参数是可调用的,即函数。下一个参数是__reduce__的参数元组。在这种情况下,当Exploit被取消激活时,将调用os.system,并给出' cat / etc / passwd'作为论点。
os.system允许您根据主机操作系统进行系统调用。在这种情况下,它有望成为Linux。
cat将文件的内容打印到标准输出,/ etc / passwd是存储系统用户信息的地方。更多恶意代码可能会尝试通过互联网发送该信息,或者它可能会试图弄乱您的文件系统等。
基本上,通过破坏你不了解的对象,你很容易受到__reduce__方法的影响。