这是一篇老外发表到HackInTheBox的paper,讲的是利用脚本语言对xslt的解析支持,通过xslt的高级特性执行任意代码。

详情请见:http://www.agarri.fr/kom/archives/2012/07/02/from_xslt_code_execution_to_meterpreter_shells/index.html

实际上国内也有类似的研究,也发现了同样的问题,例如@空虚浪子心 的:struts2框架XSLTResult本地文件代码执行漏洞

其实老外提到的这个漏洞要求也挺高的,PHP要求打开XSLTProcessor::registerPHPFunctions,一般人不会这么写,而java没这个要求,所以我也就把这个问题发到java的zone里来了。

亮点在于文章中php和java的那两个poc,和@空虚浪子心 提到的poc各有千秋。大家可以研究研究。

btw:结合之前的xml entity LFI的问题,xml解析导致的问题已经出现多次了。这是说底层支持库在上层造成的问题,将会越来越多么?大家可以再行多多挖掘一下。

摘自:http://zone.wooyun.org/content/569