Smi1e@卫兵实验室
漏洞类型
JNDI注入/任意代码执行
漏洞时间
2020.8
cve编号
CVE-2020-24616
厂商
Fasterxml
漏洞描述(仅为漏洞描述,不展示具体的漏洞细节)
Fasterxml jackson-databind 2.9.10.6之前的版本中存在安全漏洞,该漏洞源于进行了不安全的反序列化。远程攻击者可通过精心构造的恶意载荷通过利用该漏洞在系统上执行任意代码。
漏洞效果
攻击者可利用该漏洞执行任意代码。
影响范围
jackson-databind < 2.9.10.6
漏洞分析
首先diff一下黑名单中新添加的class,有四个。
br.com.anteros.dbcp.AnterosDBCPDataSource
jar包下载地址:https://mvnrepository.com/artifact/br.com.anteros/Anteros-DBCP
在其 setMetricRegistry
方法中调用了 super.setMetricRegistry
,跟进
当 this.metricsTrackerFactory
为null且 metricRegistry
不为null时会调用 this.getObjectOrPerformJndiLookup
继续跟进 this.getObjectOrPerformJndiLookup
可以发现存在一处JNDI注入,参数 object
就是 setMetricRegistry
方法传入的参数值。
com.pastdev.httpcomponents.configuration.JndiConfiguration
jar包下载地址: https://mvnrepository.com/artifact/com.pastdev.httpcomponents/configuration/0.1.3
构造方法处直接存在jndi注入
com.nqadmin.rowset.JdbcRowSetImpl
jar包下载地址: https://mvnrepository.com/artifact/com.nqadmin.rowset/jdbcrowsetimpl
setAutoCommit
方法调用了 this.connect()
connect()
方法中存在JNDI注入
this.getDataSourceName()
会调用父类 javax.sql.rowset.BaseRowSet#getDataSourceName
获取其 dataSource
属性,我们只需要控制该属性并调用 setAutoCommit
方法即可,调用 setDataSourceName
方法即可控制父类的 dataSource
属性。
org.arrah.framework.rdbms.UpdatableJdbcRowsetImpl
jar包下载地址: https://mvnrepository.com/artifact/org.arrahtec/osdq-core
和 com.nqadmin.rowset.JdbcRowSetImpl
的流程一样。
利用条件
以下三者之一
-
启用了
enableDefaultTyping
-
使用注解
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS)
或@JsonTypeInfo(use = JsonTypeInfo.Id.MINIMAL_CLASS)
修饰了反序列化类的某个属性,该属性类型为Object或上述存在漏洞的class -
activateDefaultTyping
指定可信类为存在漏洞的class
漏洞修复
升级至 jackson-databind 2.9.10.6 或更高的版本
关于我们
人才招聘
二进制安全研究员(Windows内核方向)
工作地点:
1.杭州;
岗位职责:
1、负责研究Window内核相关漏洞利用技术;
2、负责分析Window内核漏洞的原理及缓解措施;
任职要求:
1、2年以上windows逆向工作经验。
2、熟悉windows底层架构、运行机制,熟悉汇编语言 C/C++语言,熟悉win32/64开发,并有相关开发经验;
3、熟悉windows驱动开发、熟悉windows平台内核架构;能熟练运用Windows平台下的软件调试方法。
4、熟练使用ida、windbg等调试软件工具调试分析漏洞。
5、有CVE编号、内核研究成果者优先;
6、具备良好的团队沟通、协作能力、良好的职业道德。
二进制安全研究员(Linux内核方向)
工作地点:
1.杭州;
岗位职责:
1、负责研究Linux内核相关漏洞利用技术;
2、负责分析Linux内核漏洞的原理及缓解措施;
任职要求:
1、2年以上Linux逆向工作经验。
2、熟悉Linux底层架构、运行机制,熟悉汇编语言 C/C++语言,熟悉x86/64开发,并有相关开发经验;
3、熟悉Linux驱动开发、熟悉Linux平台内核架构;能熟练运用Linux平台下的软件调试方法。
4、熟练使用ida、gdb、lldb等调试软件工具调试分析漏洞。
5、有CVE编号、内核研究成果者优先;
6、具备良好的团队沟通、协作能力、良好的职业道德。
二进制安全研究员(系统应用方向)
工作地点:
1.杭州;
岗位职责:
1、负责安全技术研究,跟踪国内外最新的安全技术以及安全漏洞的追踪;
2、负责进行二进制漏洞挖掘,包括不限于浏览器、chakara引擎、js引擎、office、pdf等等各种二进制类应用;
任职要求:
1、能主动关注国内外最新安全攻防技术,并在自己擅长和兴趣的领域能够进行深入的学习、研究;
2、熟练掌握windbg、ida、gdb等调试工具;
3、熟悉各类二进制安全漏洞原理(堆溢出、栈溢出、整数溢出、类型混淆等等)以及各种利用技术;
4、能够无障碍阅读英文技术文档;
5、具备良好的团队沟通、协作能力、良好的职业道德。
Web安全研究员
工作地点:
1.杭州;
岗位职责:
1、安全攻防技术研究,最新web应用及中间件(tomcat、jetty、jboss等等)、框架(struts、spring、guice、shiro等等) 组件(freemarker、sitemesh等等)漏洞挖掘研究;
2、跟踪分析国内外的安全动态,对重大安全事件进行快速响应;
任职要求:
1、了解常见的网络协议(TCP/IP,HTTP,FTP等);
2、熟练使用Wireshark等抓包工具,熟悉正则表达式;
3、掌握常见漏洞原理,有一定的漏洞分析能力;
4、具备php、python、java或其他相关语言编码能力;
5、对常见waf绕过有一定的基础经验;
6、具备一定的文档编写能力,具备良好的团队共同能力;
7、对安全有浓厚的兴趣,工作细致耐心。
感兴趣的小伙伴请联系Nike,或将简历投送至下方邮箱。(请注明来源“研究院公众号”,并附带求职岗位名称)
联系人:Nike
邮箱:[email protected]
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论