XXE漏洞
XXE漏洞产生
XXE漏洞就是攻击者通过向服务器注入指定的xml内容,从而让服务器按照指定的配置进行执行,导致问题,也就是服务端接收和解析了来自用户端的xml数据,而又没有做严格的安全控制,从而导致xml外部注入
xml如下:<!DOCTYPE message[<!ENTITY xxe SYSTEN "file:///etc/passwd">]>
服务器会将 XML 进行解析,解析后将内容最终显示到某一个地方
区别:
- XML 被设计用来传输和存储数据。
- HTML 被设计用来显示数据。
Xml组成
XXE漏洞发现:
Burp抓包,看一下有没有回显点
发现存在XXE漏洞
发现有回显点,可以通过伪协议读取文件
XXE漏洞使用
/etc/hosts 储存域名解析的缓存(像是寻找主机)
/etc/passwd 用户密码
/proc/net/arp 每个网络接口的arp表中dev包(没理解是什么意思,但感觉像IP地址的)
/proc/net/fib_trie 访问内网里面的主机
得到了IP地址可以进行爆破找到FLAG
下面有例题
XXE例题
[NCTF2019]True XML cookbook
使用burp抓包
XXE攻击查看是否有回显点,发现有回显点,存在xxe漏洞
通过/proc/net/arp发现有两个IP地址
进行爆破192.168.122.15时发现长度不对,应该不是
换一个ip地址进行爆破发现长度也不对
通过/proc/net/fib_trie发现10.244.166.228的ip地址
开始爆破后发现只有167是成功的(中间经历了问题,截图不全)
然后发现FLAG
[NCTF2019]Fake XML cookbook