黑客仓库

最全面知识的黑客论坛,全网最强大的漏洞数据聚合仓库丨黑客网站丨黑客论坛丨暗网丨红队武器库丨渗透测试丨POC/0day/Nday/1day丨网络安全丨黑客攻击丨服务器安全防御丨渗透测试入门丨网络技术交流丨蓝队丨护网丨红队丨欢迎来到黑客仓库,您可以在我们的论坛板块进行交流和学习。

立即注册账号!
Django上传文件目录穿越漏洞——CVE-2021-31542

POC Django上传文件目录穿越漏洞——CVE-2021-31542

Shacker已验证会员

黑客倉庫站長

贡献: 21%
注册
09 10, 2024
消息
186
JavaScript:
## Django上传文件目录穿越漏洞——CVE-2021-31542
## 漏洞描述
Django 3.2.1, 3.1.9, and 2.2.21: CVE-2021-31542: Potential
 directory-traversal via uploaded files

在这些版本的Django中使用`MultiPartParser`, `UploadedFile`, 和 `FieldFile` 时,存在构造特别的文件名../等进行目录穿越漏洞。
构造文件名参考:/tmp/../path

## 修复方案:
空文件名和带..的文件名都将拒绝

在文件:django/core/files/utils.py 中添加方法:
```
def validate_file_name(name):
    if name != os.path.basename(name):
        raise SuspiciousFileOperation("File name '%s' includes path elements" % name)

    # Remove potentially dangerous names
    if name in {'', '.', '..'}:
        raise SuspiciousFileOperation("Could not derive file name from '%s'" % name)

    return name
```


**参考 commit**
https://github.com/django/django/commit/04ac1624bdc2fa737188401757cf95ced122d26d
 
后退
顶部