查看: 36732|回复: 100

Django框架任意文件包含漏洞

[复制链接]
匿名
匿名  发表于 2015-4-27 16:19:01 |阅读模式
在4月21日,基于python的开源web框架Django发布安全公告,称在≤1.5版本的Django中contrib.markup包存在任意文件包含漏洞,攻击者可通过docutils进行攻击。

关于docutils

Docutils项目的主要是为了创造一套将纯文本转换为一些常用格式的工具,这些常用格式包括:HTML、XML和LaTeX。
docutils数据包是渲染reStructuredText(reST)的标准数据包。而reST特征之一是将其他文件包含在一个文档中。在默认情况下处于启用状态。
在Django≤1.5中contrib.markup包依赖于docutils并提供模板过滤器用于按需将reST渲染到HTML,然而他在从文件系统包含本地文件时并没有禁用有问题的选项。如果docutils使用了用户输入的恶意语句来渲染,并且没有禁用指令,那么攻击者可以读取到主机上的任意文件(至少是运行WSGI容器用户可以访问的文件)。这样会泄露用户的一些敏感文件或配置信息。
虽然Django1.6删除了contrib.markup app,但许多Djangoverse中的第三方app仍然依赖于docutils并且复制了Django的模式:
[PHP] 纯文本查看 复制代码
docutils_settings = getattr(settings, ‘RESTRUCTUREDTEXT_FILTER_SETTINGS’, {})
parts = publish_parts(
source=smart_bytes(value),
writer_name=”html4css1″,
settings_overrides=docutils_settings
)
return force_text(parts[“fragment”])

要解决任意文件包含的问题,数据包维护者应当采用如下模式:这些包可能并未包含与Django文档一样的警告,但在任何情况下都应该默认禁用文件包含以保证安全,而不是依靠用户手动配置。
[PHP] 纯文本查看 复制代码
docutils_settings = {
‘raw_enabled': False,
‘file_insertion_enabled': False,
}
docutils_settings.update(getattr(settings, ‘RESTRUCTUREDTEXT_FILTER_SETTINGS’, {}))
parts = publish_parts(
source=smart_bytes(value),
writer_name=”html4css1″,
settings_overrides=docutils_settings
)
return force_text(parts[“fragment”])

使用上述模式的包用户还要更新项目设置,增加如下信息
[PHP] 纯文本查看 复制代码
RESTRUCTUREDTEXT_FILTER_SETTINGS = {
‘raw_enabled': False,
‘file_insertion_enabled': False,
}
回复

使用道具 举报

发表于 2015-6-28 10:13:08 | 显示全部楼层
还是不错的哦,顶了
回复 支持 反对

使用道具 举报

发表于 2015-6-28 14:15:23 | 显示全部楼层
支持中国红客联盟(ihonker.org)
回复 支持 反对

使用道具 举报

发表于 2015-6-28 16:39:02 | 显示全部楼层
感谢楼主的分享~
回复 支持 反对

使用道具 举报

发表于 2015-6-29 07:16:24 | 显示全部楼层
支持,看起来不错呢!
回复 支持 反对

使用道具 举报

发表于 2015-7-1 12:21:40 | 显示全部楼层
还是不错的哦,顶了
回复 支持 反对

使用道具 举报

发表于 2015-7-1 17:03:06 | 显示全部楼层
还是不错的哦,顶了
回复 支持 反对

使用道具 举报

发表于 2015-7-3 04:55:01 | 显示全部楼层
支持,看起来不错呢!
回复 支持 反对

使用道具 举报

发表于 2015-7-3 11:17:06 | 显示全部楼层
支持中国红客联盟(ihonker.org)
回复 支持 反对

使用道具 举报

发表于 2015-7-4 02:13:19 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-3-7 05:13 , Processed in 0.024777 second(s), 11 queries , Gzip On, MemCache On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部