谁能解释一下Python的pickle模块中的漏洞利用示例?

时间:2016-07-11 13:00:13

标签: python pickle

我想了解python pickle模块中的漏洞利用示例? 我从github获得了一个代码,它显示了pickle模块中的漏洞,但仍然无法理解它。请指导我。

Box

1 个答案:

答案 0 :(得分:5)

当你取消对象的取消时,会调用__reduce__方法。 __reduce__的第一个参数是可调用的,即函数。下一个参数是__reduce__的参数元组。在这种情况下,当Exploit被取消激活时,将调用os.system,并给出' cat / etc / passwd'作为论点。

os.system允许您根据主机操作系统进行系统调用。在这种情况下,它有望成为Linux。

cat将文件的内容打印到标准输出,/ etc / passwd是存储系统用户信息的地方。更多恶意代码可能会尝试通过互联网发送该信息,或者它可能会试图弄乱您的文件系统等。

基本上,通过破坏你不了解的对象,你很容易受到__reduce__方法的影响。

https://docs.python.org/2/library/pickle.html

http://man7.org/linux/man-pages/man1/cat.1.html