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 ADB设备不显示手机、og droid   java使用存储和保存方法写入属性文件   java为什么要打印这个结果   JavaSpring自动连线和并行流   java如何在Hashmap中存储KStream对象类型的值?   Android中Telugu字符串的java正则表达式?   java平方求幂   Eclipse和Tomcat的java错误   Java数组不继续循环   Jsoup未解析java嵌套html   java Android:如何知道MediaPlayer是否暂停?   跟踪Java POJO类中字段的空值集的最佳方法   java Spring在应用程序属性相对与绝对中配置工作目录?   向固定大小的平面添加随机放置的直线矩形的java方法   JavaEclipse和jasper报告:如何定位log4j。财产?