生活中处处都有CVE——CVE-2019-3498 Django 404页面漏洞浅谈

阅读量437524

|评论29

发布时间 : 2019-01-07 15:13:17

x
译文声明

本文是翻译文章,文章原作者 creditengine-tech,文章来源:medium.com

原文地址:https://medium.com/creditengine-tech/djangoの脆弱性cve-2019-3498について解説-c87d50f3ac55

译文仅供参考,具体内容表达以及含义原文为准。

 

Django前日发布关于CVE-2019-3498安全通告

通告详情

Django于1月4日发布更新安全通告,其中提到了修复了新的CVE-2019-3498漏洞。通告地址

在更新安全通告中,Django发布了新版本1.11.18、2.0.10以及2.1.5。其中主要提到了新的安全漏洞CVE-2019-3498,该漏洞被描述为404 not found页面中可能存在的安全隐患。即攻击者可利用特殊的URL来实现显示欺骗性内容(此页面由django.views.defaults.page_not_found()生成)。

在修复后,URL路径不会显示在生成的页面中,而将用request_path变量来传入显示内容。

影响版本

Django master/2.1/2.0/1.11

目前在master及各版本分支上此问题已修复

 

Ryuji Tsutsui发布博客简单介绍这一漏洞

作者提到,通常django.views.defaults.page_not_found()默认为handler404,此处会给攻击者可乘之机。

作者做了一个非常简单的PoC来验证其存在的潜在风险:

使用Django 1.11.17版本快速创建一个环境,其中配置DEBUG False,ALLOW HOSTS为*,并migrate、runserver启动服务器。

404页面如下所示:

在此处,URL将直接显示在页面中。

那么只要简单通过URL,就能显示具有欺骗性的内容,如下:

虽然效果并非完美,但已经具有一定的误导性。

而在修复后,404页面则如下所示:

 

关于CVE及漏洞的浅谈

CVE近些年不管是实际内容还是风评(特别是Web方向)都出现了“越来越水”的倾向,去年仅仅两个月内印象中就有两个假洞(CVE-2018-17793和CVE-2018-17566),但绝大多数时候,它依然有着其权威性。

此次的漏洞作为一个隐藏了蛮久的安全隐患,收获了一个四位数的CVE,虽然有一些出人意料,不过最后看来也在情理之中。也许在忙于挖洞的过程中,这种设计上的安全隐患逐渐就被边缘化乃至忽略。

这个漏洞也是新年来感觉蛮有意思的漏洞,分享给大家,祝大家早日挖到下一个CVE(╯‵□′)╯︵┻━┻。

本文翻译自medium.com 原文链接。如若转载请注明出处。
分享到:微信
+19赞
收藏
安全客
分享到:微信

发表评论

内容需知
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全客 All Rights Reserved 京ICP备08010314号-66