在Python中安全地提取不受信任的tarball

时间:2016-04-28 23:52:14

标签: python python-2.7 tar

tarfile.extractall的文档中,它说

  

切勿在未事先检查的情况下从不受信任的来源提取档案。文件可能是在路径之外创建的,例如具有以“/”开头的绝对文件名或具有两个点“..”的文件名的成员。

网络或stackoverflow上的一些帖子解决了这些漏洞,但是,我仍然可以想到另一个案例,例如:一个包含以下两个文件的tarball:

A --> /etc
A/passwd

条目A是一个符号链接,A下的所有内容都将重定向到/etc,而网络上的大多数解决方案都无法检测到这些内容。

我的问题是,除此之外,可能还有一些我忽略的漏洞,所以即使我有一段处理这个问题的代码,它仍然可能不安全。是否有一个成熟的Python库可以安全地提取tarball?

0 个答案:

没有答案