摘要:XXE 攻击在 2025 年的 OWASP Top 10 列表里排到了第 4 位。OWASP Top 10 呢,是由全球的安全专家一块儿制定的一个指南,这里面列出了当下 Web 应用碰到的最重要的十大安全风险。
XXE 攻击在 2025 年的 OWASP Top 10 列表里排到了第 4 位。OWASP Top 10 呢,是由全球的安全专家一块儿制定的一个指南,这里面列出了当下 Web 应用碰到的最重要的十大安全风险。
XML 外部实体(XXE)攻击啊,就是说应用程序在解析 XML 输入的时候,没能够不让外部实体加载,结果就让攻击者能注入那种恶意的 XML 实体,然后就能读取随便的文件啦、执行系统命令啦、探测内网端口啦、攻击内网网站啦,或者发起拒绝服务(DoS)攻击。
我来举一个实例吧:testxml.php代码如下:
]>&a;EOF;$data = simplexml_load_string($xml);print_r($data);?>然后执行时就会得到服务器的/etc/passwd内容了。
当然,你也可以用它来执行命令,可以把代码改成如下:
]>&a;EOF;$data = simplexml_load_string($xml);print_r($data);?>这里我是用程序做的示例,实际攻防情况往往是服务器接受参数时,你把xml代码放进去。像是网站要求上传文件,但你在文件里放入了xml代码,就是上边代码里两个EOF中间里的内容,就有可能会形成一次XXE攻击。
但现在的WAF,就是WEB应用防火墙,如果检测到了你的代码里有passwd、whoami关键词,你就失败了。
如何逃脱这个呢?我们可以把xml代码改成utf-7编码。例如改成:
+ADwAIQBEAE8AQwBUAFkAUABFACAAdABlAHMAdAAgAFsADQAKACAAIAAgACAAPAAhAEUATgBUAEkAVABZACAAYQAgACAAUwBZAFMAVABFAE0AIAAiAGYAaQBsAGUAOgAvAC8ALwBlAHQAYwAvAHAAYQBzAHMAdwBkACIAPgANAAoAXQA+AA0ACgA8AHIAbwBvAHQAPgAmAGEAOwA8AC8AcgBvAG8AdAA+-如果你不懂上边的乱码是什么东西,你可以问下DeepSeek。
至于什么是utf-7编码,人工智能这么厉害,自己找答案吧。不过,我这个XXE攻击方法,AI绝对想不到。
来源:海阳顶端