Apache dubbo (CVE-2020-1948) 反序列化远程代码执行漏洞及其补丁绕过深度分析

Apache Dubbo简介

 

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册) 其核心部分包含:

  • 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
  • [......]

Read more

使用无字母的JavaScript语句绕过XSS限制

一、前言

在一次XSS测试中,往可控的参数中输入XSS Payload,发现目标服务把所有字母都转成了大写,假如我输入alert(1),会被转成ALERT(1),除此之外并没有其他限制,这时我了解到JavaScript中可以执行无字母的语句,从而可以绕过这种限制来执行XSS Payload

二、JS基础

先执行两段JS代码看下

image-20200610213701179

两段js代码都输出了字符串”nb”,下面来分析下原因.

JS运算符的优先级

下面的表将所有运算符按照优先级的不同从高(20)到低(1)排列。

优先级
运算类型
关[......]

Read more

Java 8u20反序列化漏洞分析

一、前言

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

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

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

先看一段代码

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

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

相似样本查找引擎研究

目录:

一、概述。

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

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