Java 8u20反序列化漏洞分析

一、前言

JDK7u21中反序列化漏洞修补方式是在AnnotationInvocationHandler类对type属性做了校验,原来的payload就会执行失败,在8u20中使用BeanContextSupport类对这个修补方式进行了绕过。

二、Java序列化过程及数据分析

在8u20的POC中需要直接操作序列化文件结构,需要对Java序列化数据写入过程、数据结构和数据格式有所了解。

先看一段代码

运行A类main方法会生成a.ser文件,[......]

Read more

从CVE-2018-4441看jsc的OOB利用

作者最近研究了safari浏览器JavascriptCore引擎的一个OOB漏洞CVE-2018-4441,虽然这是一个比较老的漏洞,但是研究这个漏洞还是能学到不少东西。这里介绍了jsc环境搭建的方法和jsc一些基本调试技巧,详细分析了CVE-2018-4441的漏洞成因和lokihardt堆喷修改数组长度构成OOB的方法,希望读者读完能有所收获。

环境搭建

下载源码

​ 下载源码使用

​ 如下载的源码较旧需更新源码到最新日期则使用

​ 切换[......]

Read more

JAVA JNDI注入知识详解

一、前言

在漏洞挖掘或利用的时候经常会遇见JNDI,本文会讲述什么是JNDI、JNDI中RMI的利用、LDAP的利用、JDK 8u191之后的利用方式。

二、JNDI简介

JNDI(The Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API,命名服务将名称和对象联系起来,使得我们可以用名称访问对象。

这些命名/目录服务提供者:

  • RMI (JAVA远程方法调用)
  • LDAP (轻量级目录访问协议)
  • CORBA (公共对象请求代理体系结构)
  • DNS (域名服务)

JND[......]

Read more

JAVA RMI反序列化知识详解

一、前言

在Java反序列化漏洞挖掘或利用的时候经常会遇见RMI,本文会讲述什么是RMI、RMI攻击方法、JEP290限制、绕过JEP290限制。

二、RMI简介

JAVA本身提供了一种RPC框架 RMI及Java 远程方法调用(Java Remote Method Invocation),可以在不同的Java 虚拟机之间进行对象间的通讯,RMI是基于JRMP协议(Java Remote Message Protocol Java远程消息交换协议)去实现的。

RMI调用逻辑

3

image-20200506223648108

RMI主要分为三部分

  • RMI Registry注册中心
  • [......]

Read more

v8 cve-2019-5791:模块耦合导致的类型混淆

近日,作者研究了chrome v8的一个漏洞cve-2019-5791,cve的漏洞描述是由于不合适的优化可以导致越界读,但实际上该漏洞是由于在语法树遍历阶段和实际生成字节码阶段对死结点的判定不一致导致的类型混淆,成功利用该漏洞可以导致rce。

漏洞环境

漏洞的修复网址是https://chromium.googlesource.com/v8/v8/+/9439a1d2bba439af0ae98717be28050c801492c1,这里使用的commit是2cf6232948c76f888ff638aabb381112582e88ad。使用如下命令搭建漏洞环境
[crayon-62f1[......]

Read more

相似样本查找引擎研究

目录:

一、概述。

二、基于可变长度特征的相似度。

1、两个字符串之间的相似度(最短编辑距离)。

2、从样本到变长特征。

(1)     强弱hash模型。

(2)     关键字密度模型。

三、基于固定长度特征的相似度。

1、修改的K-means算法。

2、从样本到定长特征。

(1)     基于数据频度的量化。

(2)     基于图片压缩的算法。

四、总结。

五、引用。

一、概述

在日常工作中,病毒分析师经常被要求在样本库里查找相似样本。比如在获得某APT组织的样本的情景下,希望查找其历史版本来确定组织的活动时[......]

Read more

WordpPress ThemeREX Addons 插件安全漏洞深度分析

0×00 前言

ThemeREX是一家专门出售商业WordPress主题的公司。ThemeREX Addons插件为ThemeREX公司开发的预装在所有ThemeREX商业主题中用来帮助其用户设置新站点和控制不同的主题的一款插件。根据相关预测,该插件预装在超过44000个网站上。

d7052bf8f7059badc2a4c168a5d7be1f

0×01 漏洞描述

WordPress ThemeREX Addons 2020-03-09之前版本中存在安全漏洞。未经授权的攻击者可利用该漏洞在后台添加一个管理员账号、或是查看所有账号信息等操作。

0×02 漏洞分析

根据相关披露,漏洞应该存在于plugin.rest-api.php文件中[......]

Read more

v8利用入门-从越界访问到rce

最近笔者分析了一个chrome v8引擎的漏洞chromium821137,虽然这是一个老的漏洞,但是从漏洞分析利用中我们还是可以学习到v8漏洞利用的一些基础知识,对于入门学习浏览器漏洞利用具有较高的研究价值。

环境搭建

拉取代码

因为众所周知的原因,拉取v8代码需要使用非常规的方法,具体的搭建过程可以参考文末的链接。环境搭建和拉取旧的commit过程中我遇到的主要的坑是代理的问题,需要使用sock5全局代理,并且在使用谷歌的gclient sync命令的时候需要在根目录写一个.boto的配置文件才能使之运行时使用配置的代理;另外一个很重要的点是linux要使用ubuntu的镜像(笔者使[......]

Read more

WebLogic CVE-2020-2551漏洞分析

一、前言

2020年1月15日,Oracle发布了一系列的安全补丁,其中Oracle WebLogic Server产品有高危漏洞,漏洞编号CVE-2020-2551,CVSS评分9.8分,漏洞利用难度低,可基于IIOP协议执行远程代码。

image-20200219153352047

 

经过分析这次漏洞主要原因是错误的过滤JtaTransactionManager类,JtaTransactionManager父类AbstractPlatformTransactionManager在之前的补丁里面就加入到黑名单列表了,T3协议使用的是resolveClass方法去过滤的,resolveClass方法是会读取[......]

Read more

pwn的艺术浅谈(二):linux堆相关

这是linux pwn系列的第二篇文章,前面一篇文章我们已经介绍了栈的基本结构和栈溢出的利用方式,堆漏洞的成因和利用方法与栈比起来更加复杂,为此,我们这篇文章以shellphish的how2heap为例,主要介绍linux堆的相关数据结构和堆漏洞的利用方式,供大家参考。

0.前置知识

0.0 编译+patch方法

how2heap源码地址https://github.com/shellphish/how2heap,为了方便调试编译时使用gcc -g -fno-pie xx.c –o xx。这里先介绍一种linux下patch文件加载指定版本libc的方法,patchelf –set-i[......]

Read more