本文首发于先知:https://xz.aliyun.com/t/6914

FastJson1.2.24 RCE

在分析1.2.47的RCE之前先对FastJson1.2.24版本中的RCE进行一个简单的漏洞链分析,为在本篇文章后面1.2.47中漏洞的调用过程做个铺垫。在本文中的1.2.24的payload只研究针对类jdbcRowSetImpl的,因为针对templatesImpl的payload而言在高版本java中要开启Feature.SupportNonPublicField才能进行对非共有属性的反序列化处理,因此是存在一定的限制的。因此针对类jdbcRowSetImpl的payload更具有通用型一些。本中所示代码及jar包请见附件。

exp.java

FastJson1.2.47 RCE

漏洞影响版本:fastjson<1.2.51

exp.java

漏洞修复

在1.2.48版本的补丁中,首先黑名单做了更新,其中就包含了java.lang.class这个类,并且MiscCodec中也将传入的cache参数置为了false,这样通过payload中a部分的java.lang.class引入JdbcRowSetImpl类,b部分通过mappings获取JdbcRowSetImpl类的方法就失效了,并且1.2.48以下开不开autotype都能打。

参考

https://www.anquanke.com/post/id/181874
https://www.kingkk.com/2019/07/Fastjson%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E6%BC%8F%E6%B4%9E-1-2-24-1-2-48/
https://saucer-man.com/information_security/346.html

https://xz.aliyun.com/t/5680 

https://javaweb.org.cn/3240.shtml这个讲的很详细

 

相关文章:

  • 2021-12-21
  • 2022-12-23
  • 2022-12-23
  • 2021-04-24
  • 2022-01-06
  • 2021-11-10
  • 2021-09-11
  • 2021-10-19
猜你喜欢
  • 2022-12-23
  • 2021-07-23
  • 2021-07-11
  • 2021-09-01
  • 2021-12-29
  • 2021-11-07
相关资源
相似解决方案