技术文章

36 articles

探究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

Linux下的Rootkit驻留技术分析

Linux作为服务器和IoT设备使用的主要操作系统,针对它的恶意软件也层出不穷。针对Linux设备的恶意软件(以下称为rootkit)通常需要长期驻留于目标操作系统以达到获利目的,所以如何实现驻留也是Linux rootkit作者的重点考虑内容之一,对此,天融信阿尔法实验室进行了可能的思路探索和分析。

在接下来的说明中,我们统一使用一个名为evil的静态链接ELF文件作为我们要实现驻留的rootkit,所有的驻留尝试均围绕这个程序展开。

技术汇总

1. 用户态下的可利用点

1.1 各种init的利用

Linux init

在systemd成为主流之前,sysvinit是大多数发[......]

Read more

天融信关于勒索软件加密过程研究

一、   前言

勒索软件是一种新兴的木马程序,可通过加密用户文件,使用户数据无法使用,并以此为条件向用户勒索钱财。随着现代社会对数据的高度依赖,数据平台遭受勒索软件攻击的事件频频出现,且勒索软件类型更加复杂化和多样化。文件加密、密钥传输保护、反追踪、扩散等技术将成为勒索软件这几年的发展方向,同时勒索目标从PC端扩展到移动终端、服务器、工控系统等其他平台。勒索软件的目的更加明确,去除对系统文件加密,只针对用户数据进行加密,并且扩大了加密数据类型范围。为了躲避网络安全设备的监视,勒索软件与C&C服务器的通信更加隐蔽,甚至去除C&C服务器。为躲避现实世界追捕,支付方式逐渐以数字货币[......]

Read more

Windows下反(反)调试技术汇总

 

一、前言

对于安全研究人员来说,调试过程中经常会碰到反调试技术,原因很简单:调试可以窥视程序的运行“秘密”,而程序作者想要通过反调试手段隐藏他们的“秘密”,普通程序需要防止核心代码被调试逆向,恶意代码需要隐藏自己的恶意行为防止被跟踪。就像病毒和杀软的关系一样,为了顺利的逆向分析,有反调试手段就有对应的破解方法-反反调试。

关于各种反调试手段,网络上和各种安全书籍上都有对应的介绍、各种调试工具插件已经集成了反调试功能,但有的只是介绍了反调试方法,并没有对应的破解方式,有的反调试手段已经失效。本文并不是研究新的反调试方法,而是对windows平台的反调试技术进行分类总结,并[......]

Read more

针对CVE-2018-8120 Windows提权工具兼容性BUG定位及修复

一、背景介绍:

2018年5月微软发布了针对Windows操作系统内核组件漏洞(CVE-2018-8210)的补丁,该漏洞影响多个版本的操作系统,成功利用漏洞可使得普通应用程序以内核权限执行任意代码。

笔者在6月对该漏洞进行分析并发布了漏洞分析和漏洞利用文章(地址),文中同时附带了一份提权工具,支持WinXP、Win2003、Win7、Win2008等系统。后有网友回帖表示在Win7 x86系统下该利用工具无效,经调试确认提权工具确实存在部分兼容性问题。本文将针对该问题进行补充说明,解决存在的兼容性问题。

CVE-2018-8120为缓冲区溢出漏洞,可造成内核任意地址写入。 前文[......]

Read more