Some checks failed
Vulhub Format Check and Lint / format-check (push) Has been cancelled
Vulhub Format Check and Lint / markdown-check (push) Has been cancelled
Vulhub Docker Image CI / longtime-images-test (push) Has been cancelled
Vulhub Docker Image CI / images-test (push) Has been cancelled
36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
# Django < 2.0.8 CommonMiddleware任意URL跳转漏洞(CVE-2018-14574)
|
||
|
||
Django是一个高级的Python Web框架,支持快速开发和简洁实用的设计。
|
||
|
||
Django 2.0.8和1.11.15版本之前存在一个任意URL跳转漏洞,当同时启用`django.middleware.common.CommonMiddleware`中间件和`APPEND_SLASH`设置时,如果项目中存在接受以斜杠结尾的任意路径的URL模式,攻击者可以构造恶意URL导致重定向到任意外部网站,从而可能导致钓鱼等攻击。
|
||
|
||
参考链接:
|
||
|
||
- https://www.djangoproject.com/weblog/2018/jul/18/security-releases/
|
||
- https://nvd.nist.gov/vuln/detail/CVE-2018-14574
|
||
|
||
## 环境搭建
|
||
|
||
执行如下命令启动一个存在漏洞的Django 2.0.7服务器:
|
||
|
||
```
|
||
docker compose build
|
||
docker compose up -d
|
||
```
|
||
|
||
环境启动后,访问`http://your-ip:8000`即可看到Django默认首页。
|
||
|
||
## 漏洞复现
|
||
|
||
访问以下URL触发任意URL跳转漏洞:
|
||
|
||
```
|
||
http://your-ip:8000//www.example.com
|
||
```
|
||
|
||
服务器将重定向到`//www.example.com/`,浏览器会将其解释为绝对URL,从而实现对外部站点的重定向:
|
||
|
||

|
||
|
||
攻击者可以利用此漏洞将用户重定向到恶意网站,可能导致钓鱼攻击或其他安全问题。
|