Apache HTTP组件提权漏洞利用深度分析

前段时间Apache HTTP 被发现存在本地提权漏洞(CVE-2019-0211),漏洞作者在第一时间就给出了WriteUp和漏洞EXP,阿尔法实验室也对EXP进行了深入分析,在此将分析的笔记整理分享出来,希望对大家理解该漏洞有所帮助。本文内容主要按着EXP的执行步骤一步步讲解,同时详细解释了利用过程中几个比较难理解的点:

  • PHP UAF漏洞的具体利用细节
  • all_buckets[bucket]是如何指向SHM中伪造的结构以及堆喷的问题
  • 如何让apr_proc_mutex_t和zend_array、prefork_child_bucket和zend_object这些结构体叠加[......]

Read more

天融信关于ThinkPHP5.1框架结合RCE漏洞的深入分析

前言

在前几个月,Thinkphp连续爆发了多个严重漏洞。由于框架应用的广泛性,漏洞影响非常大。为了之后更好地防御和应对此框架漏洞,阿尔法实验室对Thinkphp框架进行了详细地分析,并在此分享给大家共同学习。

本篇文章将从框架的流程讲起,让大家对Thinkphp有个大概的认识,接着讲述一些关于漏洞的相关知识,帮助大家在分析漏洞时能更好地理解漏洞原理,最后结合一个比较好的RCE漏洞(超链接)用一种反推的方式去进行分析,让大家将漏洞和框架知识相融合。体现一个从学习框架到熟悉漏洞原理的过程。

 

一、框架介绍

ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量[......]

Read more

天融信关于Microsoft Edge和IE浏览器同源策略绕过漏洞分析

一、前言

最近爆出了IE浏览器和Edge浏览器跨域获取敏感信息的漏洞(绕过同源策略),不过并未被微软承认,于是进行了一系列深度测试,看看此漏洞是否真实严重。

二、知识扩展

为了大家能够更流畅地理解测试流程,我们先来了解下什么是同源策略和跨域。

1. 同源策略

同源策略(SOP)是在现代浏览器中实现的安全功能,它限制从一个源加载的Web页面或脚本与来自另一个源的资源交互,从而防止不相关的站点相互干扰。也就是说,不同源的客户端脚本在没有明确授权的情况下,是不能读写对方资源的。

 

所谓同源就是指域名、协议、端口都相同,URL由协议、域名、端口和路径组成,如果[......]

Read more

PHP内核层解析反序列化漏洞

前言

在学习PHP的过程中发现有些PHP特性的东西不好理解,如PHP中的00截断,MD5缺陷,反序列化绕过__wakeup等等。本人不想拘泥于表面现象的理解,想探究PHP内核到底是怎样做到的。

下面是将用CTF中常用的一个反序列化漏洞CVE-2016-7124(绕过魔法函数__wakeup)为例,将此次调试PHP内核的过程分享出来。包括从内核源码调试环境的搭建,序列化与反序列化内核源码分析到最后的漏洞分析整个部分。

 

一、 一个例子引发的思考

 

我们可以首先看本人写的小例子。

根据上图我们先介绍下PHP中的魔法函数:

我们先看下官方文档[......]

Read more

探究PHP中的Mkdir函数

一、起因

在复现分析Wordpress-5.0.0 RCE 的时候,因为在写图片的过程中,根据图片的dirname创建目录,而后根据basename写入图片。在目录创建成功的前提下,应该是可以写入文件的。但是情况却不是如此,过程中我要在写目标图片前,必须还要再写一个辅助图片。其实这个辅助图片不是很重要,而重要的是这个辅助图片的目录创建。

过程中例如需要写入目标文件为:

1.1首先需要先写一张1.2为什么会这样?假设直接写目标文件,过程中会首先创建目录:1.3

其实这个过程是没有创建任何目录的,因为判断是directory already ,到下一步写入图片这里是Imagick::writeI[......]

Read more

WordPress-5.1.1-CSRF-To-RCE安全事件详析

 概述

1.1 前言

2019年3月13号,RIPS又放了一个WordPress的CSRF,与此同时WordPress官方也提交相应的Commit,算是一个比较新的洞。问题出在文章的评论上,其实是有防CSRF相应的wpnonce,熟悉wp的人肯定不会陌生wpnonce,这是wp的防御机制,动作postid构成的token,用来验证reference,而且wordpress对标签的过滤机制比较严格的。白名单机制,列如a标签的名单为

1

看起来是比较严格的,基本带动作的标签不可能出现,插不进js。比较有趣是两个对评论的filter组合起来造成了,a标签中的属性逃逸。RIPS文章也说[......]

Read more

AFL漏洞挖掘技术漫谈(二):Fuzz结果分析和代码覆盖率

一、前言

阿尔法实验在上一篇文章中向大家介绍了使用AFL开始模糊测试前要做的一些准备工作,以及AFL的几种工作方式,但是并没有提到何时结束测试过程,以及测试完成后又需要做些什么。本文中就继续介绍这些内容,并开始逐步介绍一些AFL相关原理。以下就是本文中主要讨论的问题:

  • 何时结束Fuzzing工作
  • afl-fuzz生成了哪些文件
  • 如何对产生的crash进行验证和分类
  • 用什么来评估Fuzzing的结果
  • 代码覆盖率及相关概念
  • AFL是如何记录代码覆盖率的

二、Fuzzer工作状态

因为afl-fuzz永远不会停止,所以何时停止测试很多时候就是依靠afl-fuzz[......]

Read more

AFL漏洞挖掘技术漫谈(一):用AFL开始你的第一次Fuzzing

一、前言

模糊测试(Fuzzing)技术作为漏洞挖掘最有效的手段之一,近年来一直是众多安全研究人员发现漏洞的首选技术。AFL、LibFuzzer、honggfuzz等操作简单友好的工具相继出现,也极大地降低了模糊测试的门槛。笔者近期学习漏洞挖掘过程中,感觉目前网上相关的的资源有些冗杂,让初学者有些无从着手,便想在此对学习过程中收集的一些优秀的博文、论文和工具进行总结与梳理、分享一些学习过程中的想法和心得,同时对网上一些没有涉及到的内容做些补充。

由于相关话题涉及的内容太广,笔者决定将所有内容分成一系列文章,且只围绕AFL这一具有里程碑意义的工具展开,从最简单的使用方法和基本概念讲起,再[......]

Read more

天融信关于drupal8系列框架和漏洞动态调试深入分析

前言

在drupal框架中,比较经典又离我们最近的莫过于18年的CVE-2018-7600这个漏洞了。但是通过本人阅读和学习过此漏洞分析文章的过程中,发现都是针对于此漏洞点的详细分析。相对于此框架运行流程不是很熟悉的人可能在阅读完后很难理解。

作为阿尔法实验室的一员,本人通过阅读框架相关文档与漏洞分析的相关文章和自己对框架源码的调试,对框架运行的流程有了进一步的了解。

在此把这些分享给大家,本文主要分为两大部分:

第一部分是对drupal框架流程的简介(这里主要针对8.x系列),让我们知道在symfony开源框架基础上的drupal框架是如何利用监听者模式支撑起整个[......]

Read more

Tenda n301路由器固件分析

今天收到客户寄来的一个腾达路由器,发现使用其出现流量异常,怀疑被植入第三方程序,让我们协助分析。让我们一起开始分析之旅。

一、   固件提取

这台腾达路由器是n301版本,2013年发布的产品。要对路由器进行分析,首先要做的就是提取固件。

拆开机器,发现该路由的flash芯片为2m容量的25Q16。直接使用芯片脚夹,结果各种不顺,可能是接触不良,或者Flash芯片IO电压被拉低拉高,一直无法读取芯片数据。

最终我们使用热风枪将flash 芯片吹下来,再使用芯片底座读取。这种方法最有效,但是得有良好的焊接技术,否则芯片焊不回去,设备就变成砖了,还好技术过关,提取完固件后,[......]

Read more