知识点:XML实体注入漏洞(XXE)
原理:XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等危害。xxe漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件。
查看源代码,访问doLogin.php

访问doLogin.php,提示加载外部xml实体

- DOCTYPE(文档类型定义的声明)
- ENTITY(实体的声明)
- SYSTEM、PUBLIC(外部资源申请)
内部实体
<!ENTITY 实体名称 "实体的值">
外部实体
<!ENTITY 实体名称 SYSTEM "URL">
因为本题是要外部实体加载,所以用下面一个
<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE test [
<!ENTITY admin SYSTEM "file:///flag">
]>
<

本文深入探讨了XML外部实体注入(XXE)漏洞的原理,指出当应用程序在处理XML输入时未能阻止外部实体加载,可能导致文件读取、命令执行等安全风险。通过示例代码展示了XXE漏洞触发的场景,并提醒开发者注意在允许XML上传的地方进行有效过滤,以防止恶意XML文件的上传。
最低0.47元/天 解锁文章
4618

被折叠的 条评论
为什么被折叠?



