🗒️XXE漏洞
2021-7-2
| 2023-4-18
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
XXE漏洞全称为XML外部实体漏洞 XML作为一种使用较为广泛的数据传输格式,很多应用程序都包含有处理xml数据的代码,许多过时或配置不当的XML处理器都会对外部实体进行引用,如果攻击者可以上传XML文档或者在XML文档中添加恶意内容,通过易受攻击的代码,就能够攻击包含缺陷的XML处理器,XXE漏洞的出现和开发语言无关,只要是应用程序中对XML数据做了解析,而且这些数据又受用户控制,那么应用程序都可能受到XXE攻击。
当允许引用外部实体时,就可能导致一下危害
任意文件读取 系统命令执行 内网端口探测 攻击内网网站 钓鱼
php在2.9之后的版本禁止解析外部XML
使用开发语言提供的禁用外部实体的方法
PHP:
libxml_disable_entity_loade(true)
2.JAVA:
DocumentBuilderFactory bdf = DocumentBuilderFactory.newlnstance()
dbf.setExpanEntityReferences(false)
3.python:
from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLparser(resovlve_entities=False))
4.过滤提交的XML数据
过滤关键词
!DOTYPE,!ENTITY SYSTEM、PUBLIC
Java中如何正确防御XXE,同时它为何能防御呢?
OWASP推荐的修复代码如下,号称是可以防御几乎所有XXE攻击!今天我们来深入研究下它为何可以防御XXE漏洞。 DocumentBuilderFactory dbf DocumentBuilderFactory.newInstance(); dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl",true);
 
pikachu靶场通关
  • 靶场
  • 参数化查询(JDBC)操作方法Xray + BurpSuite联动
    目录