某mpv播放器因格式化字符串导致远程代码执行漏洞深入分析(CVE-2021-30145)

 

一、背景介绍

mpv项目是开源项目,可以在多个系统包括Windows、Linux、MacOs上运行,是一款流行的视频播放器,mpv软件在读取文件名称时存在格式化字符串漏洞,可以导致堆溢出并执行任意代码。

二、环境搭建

系统环境为Ubuntu x64位,软件环境可以通过两种方式搭建环境。

1. 通过源码编译,源码地址为:https://github.com/mpv-player/mpv/tree/v0.33.0

下载地址为:https://github.com/mpv-player/mpv/archive/refs/tags/v0.33.0.zip

2. 直接安[......]

Read more

实例分析 DiscuzX 3.4 SSRF漏洞

 

0×00 漏洞信息简介 

 

 

        Crossday Discuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。自2001年6月面世以来,Discuz!已拥有15年以上的应用历史和200多万网站用户案例,是全球成熟度最高、覆盖率最大的论坛软件系统之一。目前最新版本Discuz! X3.4正式版于2017年8月2日发布,去除了云平台的相关代码,是 X3.2 的稳定版本。此次漏洞位于/source/module/misc/misc_imgcropper.php中[......]

Read more

Windows Print Spooler服务最新漏洞CVE-2021-34527详细分析

近日,有安全研究员在github上公开了”CVE-2021-1675″的exp PrintNightmare,后经验证公开的exp是一个与CVE-2021-1675不同的漏洞,微软为其分配了新的编号CVE-2021-34527。这篇文章记录了CVE-2021-34527的复现过程,并对漏洞成因进行了简单的分析。

漏洞复现

这里记录域控环境下使用普通权限域账户实现RCE反弹nt authority\system shell的过程。下面的漏洞复现和漏洞分析都是基于Windows server 2019,2021-6补丁的,winver=17763.1999。经笔者测试在无任何补丁的Window[......]

Read more

Xstream反序列化远程代码执行漏洞深入分析

0. 前言

Xstream是java中一个使用比较广泛的XML序列化组件,本文以近期Xstream爆出的几个高危RCE漏洞为案例,对Xstream进行分析,同时对POC的构成原理进行讲解

 

1. Xstream简介

XStream是一个简单的基于Java库,Java对象序列化到XML,反之亦然(即:可以轻易的将Java对象和xml文档相互转换)。

Xstream具有以下优点

  • 使用方便 – XStream的API提供了一个高层次外观,以简化常用的用例。
  • 无需创建映射 – XStream的API提供了默认的映射大部分对象序列化。
  • 性能 – XStrea[......]

Read more

CVE-2021-24093 Windows图形组件远程执行代码漏洞分析

一、前言

Windows图形组件DWrite库是用于高质量文本呈现的用户模式动态库,DWrite库存在远程代码执行漏洞。目前已有POC,POC可以实现任意地址写任意内容。

基于此我们做了分析,分析后得知字体库文件中的”maxp”表内容存在错误数据时,DWrite库使用此数据计算字体所需内存,导致分配内存过小,程序读取字体库中的数据写入数组并越界写入 到另外一个数据结构中,后续将结构中数据作为指针操作其中内容,写入数据和指针都可控。通过分析补丁,补丁修补方案为:取出”maxp”表的另一字段再加4,比较之前畸形数据得到较大值,以此计算需要分配内存大小。

文章包含如下内容:[......]

Read more

CVE-2021-1648 windows10 splwow64权限提升分析

近日,作者分析了微软1月补丁日修复的一个漏洞CVE-2021-1648,这是一个可以在splwow64进程空间进行任意地址读写的漏洞。由于splwow64是一个普通权限的进程且splwow64在IE浏览器的白名单目录里,因此这个漏洞可以用于提权低权限的IE浏览器渲染引擎进程从而绕过IE浏览器的沙箱。这篇文章主要介绍一下splwow64的机制和CVE-2021-1648的成因。

环境:Windows10 20H2 2020-12补丁

splwow64机制

wow64是微软为了在64bit系统兼容运行32bit程序的一个组件,具体来说,在64bit程序调用32bit的CreateDC Win[......]

Read more

Java反序列化系列 ysoserial Jdk7u21

1.Jdk7U21漏洞简介

谈到java的反序列化,就绕不开一个经典的漏洞,在ysoserial 的payloads目录下 有一个jdk7u21,以往的反序列化Gadget都是需要借助第三方库才可以成功执行,但是jdk7u21的Gadget执行过程中所用到的所有类都存在在JDK中,JRE版本<=7u21都会存在此漏洞

2.Jdk7u21漏洞原理深入讲解

2.1漏洞执行流程

整体的恶意对象的封装整理成了脑图,如下图所示

1

这里用到了TemplatesImpl对象来封装我们的恶意代码,其封装和代码执行的流程在《Java 反序列化系列 ysoserial Hibernate[......]

Read more

Java反序列化系列 ysoserial Hibernate2

1.Hibernate简介

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的ORM框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。

2.RPC简介

RPC(Remote Proced[......]

Read more

Java反序列化系列 ysoserial Hibernate1

1.Hibernate简介

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。

2.Java动态字节码生成

通过分析Hiberna[......]

Read more

ysoserial Java 反序列化系列第一集 Groovy1

ysoserial简介

ysoserial是一款在Github开源的知名java 反序列化利用工具,里面集合了各种java反序列化payload;

由于其中部分payload使用到的低版本JDK中的类,所以建议自己私下分析学习时使用低版本JDK JDK版本建议在1.7u21以下。

此篇文章为java反序列化系列文章的第一篇,后续会以ysoserial这款工具为中心,挨个的去分析其中的反序列化payload和gadget,讲完该工具后会继续对工具中没有的java 反序列化漏洞进行讲解,例如 FastJson JackSon,WebLogic等等,并将这些漏洞的exp加入到ysose[......]

Read more