python stdlib模块的xml炸弹防护

defusedxml的Python项目详细描述


概要

攻击易受攻击的xml库的结果可能相当惊人。 只要几百字节的XML数据,攻击者就可以占用几个 千兆字节 内存在 秒内 。攻击者还可以 CPU因中小型请求而长时间繁忙。在一些 在某些情况下,甚至可以访问 服务器,以绕过防火墙,或滥用服务将攻击反弹到 第三方。

这些攻击使用并滥用了xml及其解析器不太常见的特性。这个 大多数开发人员不了解处理等功能 XML从SGML继承的指令和实体扩展。至多 他们知道!doctype>;来自html的经验,但它们不是 注意文档类型定义(dtd)可以生成http请求 或从文件系统加载文件。

这些问题都不是新问题。他们早就出名了。十亿 笑是2003年首次报道的。尽管如此,一些xml库和 应用程序仍然易受攻击,甚至大量的xml用户 对这些特征感到惊讶。很难说谁该为 情况。把所有责任都推到XML解析器和 用于使用不安全默认设置的XML库。毕竟他们 正确实现xml规范。应用程序开发人员不能依赖 库总是为安全性和潜在的有害数据配置的 默认情况下。

目录

  • python xml库
  • 标准库中的设置
  • defusedxml
  • defusedexpat
    • 在expat中的修改
  • 如何避免XML漏洞
  • 需要考虑的其他事项
  • 属性放大/哈希冲突攻击
  • 减压炸弹
  • 处理指令
  • 其他DTD功能
  • xpath
  • xpath注入攻击
  • xinclude
  • xmlschema位置
  • xsl转换
  • 相关CVE
  • 其他语言/框架
  • perl
  • 红宝石
  • php
  • c/.net/mono
  • ="Hyrf="Java"ID="ID41"Re="NoFoLoLy"> Java
  • 待办事项
  • 许可证
  • 确认
  • 参考资料
  • 更改日志
  • 欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


    热门话题
    java向嵌入式Jetty添加多个端点   java如何在JAXWS处理程序中区分请求和响应?   使用Scenebuilder for JAVAFx的登录应用程序的java MVC体系结构   java对话框将不显示   Windows 7上的Java系统变量   java删除动态添加的面板   java将Javadoc嵌入到HTML网站中   带有URL编码数据的java Spring RestTemplate POST请求   java JAXR只运行一次函数   HttpClient缺少java依赖项   java深层反射比较   基于javarmi和CORBA的分布式计算   如何使用当前数据库时间从Java更新MongoDB?   java通过光标保存数据调试时显示错误数据