作家
登录

Fastjson远程反序列化程序验证的构造和分析

作者: 来源: 2017-05-04 20:57:11 阅读 我要评论

fastjson是一个java编写的高机能功能异常完美的JSON库,应用范围异常广,在github上star数都跨越8k,在2017年3月15日,fastjson官方主动爆出fastjson在1.2.24及之前版本存在长途代码履行高危安然马脚。进击者可以经由过程此马脚长途履行恶意代率攀来入侵办事器。

关于马脚的具体详情可参考 :https://github.com/alibaba/fastjson/wiki/security_update_20170315

  1. fastjson <= 1.2.24 

受影响的版本

静态分析

根据官方给出的补丁文件,重要的更新在这个checkAutoType函数上,而这个函数的重要功能就是添加了黑名单,将一些常用的反序列化应用库都添加到黑名单中。

具体包含:

  1. bsh,com.mchange,com.sun.,java.lang.Thread,java.net.Socket,java.rmi,javax.xml,org.apache.bcel,org.apache.commons.beanutils, 
  2. org.apache.commons.collections.Transformer,org.apache.commons.collections.functors,org.apache.commons.collections4. 
  3. comparators,org.apache.commons.fileupload,org.apache.myfaces.context.servlet,org.apache.tomcat,org.apache.wicket.util, 
  4. org.codehaus.groovy.runtime,org.hibernate,org.jboss,org.mozilla.javascript,org.python.core,org.springframework 

下面我们来分析checkAutoType的函数实现:

  1. if (typeName == null) { 
  2.             return null
  3.         } 
  4.   
  5.         if (typeName.length() >= maxTypeNameLength) { 
  6.             throw new JSONException("autoType is not support. " + typeName); 
  7.         } 
  8.   
  9.         final String className = typeName.WordStr('$''.'); 
  10.   
  11.         if (autoTypeSupport || expectClass != null) { 
  12.             for (int i = 0; i < acceptList.length; ++i) { 
  13.                 String accept = acceptList[i]; 
  14.                 if (className.startsWith(accept)) { 
  15.                     return TypeUtils.loadClass(typeName, defaultClassLoader); 
  16.                 } 
  17.             } 
  18.   
  19.             for (int i = 0; i < denyList.length; ++i) { 
  20.                 String deny = denyList[i]; 
  21.                 if (className.startsWith(deny)) { 
     1/7    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      提高Linux安全性:14项检查建立安全的Linux服务器

    1. 记录主机信息每当您正在应用新的Linux主机进行安然加强时,您须要创建一个文档并记录本文档中列出的项目,工作完成后,您将须要检查这些项目。别的,在开端时该文档,您须要记录有关Li>>>详细阅读


    本文标题:Fastjson远程反序列化程序验证的构造和分析

    地址:http://www.17bianji.com/lsqh/35009.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)