Vulhub漏洞系列:Django debug page XSS漏洞(CVE-2017-12794)+ Django URL跳转漏洞(CVE-2018-14574 )

Django debug page XSS漏洞(CVE-2017-12794)+ Django URL跳转漏洞(CVE-2018-14574 )

  • 00.前言
  • 01.简介
  • 02.漏洞描述
  • 03.漏洞复现

00.前言


这篇文章将对该漏洞进行简介并复现,同时简要说明Vulhub的使用方法,适合小白一起学习,大佬看看就好☺


01.简介

  Django是一个开放源代码的Web应用框架,由Python写成,采用了MTV的框架模式。
  Django已经成为web开发者的首选框架,其主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(Do Not Repeat Yourself)原则。

02.漏洞描述

Django debug page XSS漏洞(CVE-2017-12794)


  该漏洞是因为其debug模式中的缺陷所导致,当发现有同样类型异常时,关联了上一个异常和当前的新异常,最后,在500页面中被输出。这个异常被拼接进The above exception ({{ frame.exc_cause }}) was the direct cause of the following exception,最后触发XSS。

参考:https://paper.seebug.org/402/

Django URL跳转漏洞(CVE-2018-14574 )


  当setting中配置了django.middleware.common.CommonMiddleware且APPEND_SLASH为True时漏洞就会触发。即Django默认配置下,如果匹配上的URL路由中最后一位是/,而用户访问的时候没加/,Django默认会跳转到带/的请求中。
  该漏洞利用条件是目标URLCONF中存在能匹配上//baidu.com的规则。即在path开头为//baidu.com的情况下,Django没做处理,导致浏览器认为目的地址是绝对路径,最终造成任意URL跳转漏洞。

参考:https://xz.aliyun.com/t/3302

03.漏洞复现

  首先,在vulhub-master中漏洞的相应位置打开终端,输入docker-compose up -d打开环境:

  docker-compose up -d

  然后输入docker ps查看环境是否打开成功:

  docker ps

Django debug page XSS漏洞(CVE-2017-12794)


搭建成功后我们访问并创建用户:

your-ip:8000/create_user/?username=<script>alert(ccooll)</script>

Vulhub漏洞系列:Django debug page XSS漏洞(CVE-2017-12794)+ Django URL跳转漏洞(CVE-2018-14574 )_第1张图片
然后再次访问该页面即可触发漏洞:
Vulhub漏洞系列:Django debug page XSS漏洞(CVE-2017-12794)+ Django URL跳转漏洞(CVE-2018-14574 )_第2张图片其触发的异常为:

duplicate key value violates unique constraint "xss_user_username_key"
DETAIL: Key (username)=(<script>alert(ccooll)</script>) already exists.

Django URL跳转漏洞(CVE-2018-14574 )


搭建好环境后访问your-ip:8000如下:
Vulhub漏洞系列:Django debug page XSS漏洞(CVE-2017-12794)+ Django URL跳转漏洞(CVE-2018-14574 )_第3张图片
然后即可通过漏洞原理进行复现,我们重定向到百度,然后抓包:
Vulhub漏洞系列:Django debug page XSS漏洞(CVE-2017-12794)+ Django URL跳转漏洞(CVE-2018-14574 )_第4张图片

Vulhub漏洞系列:Django debug page XSS漏洞(CVE-2017-12794)+ Django URL跳转漏洞(CVE-2018-14574 )_第5张图片即可返回是301跳转到//www.baidu.com,复现成功。这两个漏洞比较简单,大家看看就懂的咯~

最后复现完漏洞就可以关闭环境了:

  docker-compose down

结束语:这是抬锅整理出来的复现过程希望能对大家有帮助☺

你可能感兴趣的:(vulhub漏洞复现系列,安全漏洞)