技术文章

47 articles

pwn的艺术浅谈(一):linux栈溢出

这个系列主要介绍linux pwn的基础知识,包括堆栈漏洞的一些利用方法。这篇文章是这个系列的第一篇文章。这里我们以jarvisoj上的一些pwn题为例来对linux下栈溢出利用和栈的基本知识做一个简单的介绍。题目地址:https://www.jarvisoj.com/challenges

0. Level0,栈的基本结构及nx绕过

首先查看一下题目的保护措施(如下图所示),可以看到是一个只开启了NX的64位linux程序。

clip_image002

关于linux pwn常见的保护

0.RELRO

部分RELRO(由ld -z relro启用):

将.got段映射为只读(但.got.pl[......]

Read more

ATT&CK 之防御逃逸

一、前言

基于MITRE ATT&CK框架中关于“防御逃逸”(Defense Evasion)的战术专题,笔者将深入介绍其中大部分防御逃逸手段的技术原理、检测方法及缓解方案,为求简洁直观的表达其技术原理,本文对部分战术的实现提供了演示性的代码

其实在学习MITRE ATT&CK框架并一个个实现其原理的过程中,就会发现我们慢慢的对攻击者的攻击思路和攻击方向有了更清晰的认识,并逐步了解他们是如何发现新的攻击手段的。例如在本次的防御逃逸专题中有个应用程序白名单绕过,攻击者总会在Windows系统上找到一些被系统或杀软信任而不会进行限制的应用程序,这些应用通常是被大家忽视或不[......]

Read more

WordPress-WooCommerce 3.6.4 从CSRF 到 RCE

漏洞简介

WooCommerce是WordPress最受欢迎的电子商务插件,安装量超过500万。

WooCommerce处理产品导入方式的缺陷导致存储型XSS漏洞的产生,可以通过跨站点请求伪造(CSRF)来利用该漏洞。由于wordpress后台存在插件编辑等功能,通过xss漏洞,可以写入php代码

 

漏洞成因简单来说,是因为WooCommerce存在csv文件导入功能,该功能可以将csv中内容导入到产品列表中

导入时共分四步(上传、列映射、导入以及done),这四个步骤的请求是独立的,可以单独发送对应的请求,在后台完成相应的功能。

WooCommer[......]

Read more

MyBB <= 1.8.20:从存储型XSS到RCE漏洞深度分析

0×00 漏洞描述

MyBB是国际上非常优秀的免费论坛软件,最大的特色是简单但是功能却出奇的强大,支持多国语言,可以分别设置前台后台的语言。

MyBB作为一个开源项目,拥有活跃的社区环境,项目的管理,发展由社区志愿者支持。用户量广泛,在github上的项目拥有609 个star,79个releases。

MyBB <= 1.8.20存在一处从存储的XSS到RCE组合利用漏洞,攻击者可以先通过xss获得管理员权限,再通过rce达到远程代码执行。这套利用流程不仅隐蔽而且利用难度低,只要私信给mybb管理员发出一条包含payload的消息即可。

该漏洞由RI[......]

Read more

ATT&CK之后门持久化

前言

在网络安全的世界里,白帽子与黑帽子之间无时无刻都在进行着正与邪的对抗,似乎永无休止。正所谓,道高一尺魔高一丈,巨大的利益驱使着个人或组织利用技术进行不法行为,花样层出不穷,令人防不胜防。

为了更好的应对这些攻击手段,就需要做到了解对手。俗话说:知己知彼,方能百战不殆。MITRE ATT&CK™就提供了全球范围的黑客的攻击手段和技术知识点,并把APT组织或恶意工具使用到的攻击手段一一对应,便于从根源上解决问题。许多公司和政府部门都会从中提取信息,针对遇到的威胁建立安全体系或模型。我们作为安全从业人员,如果能够掌握MITRE ATT&CK™如此庞大的知识体系,对以后的[......]

Read more

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

前言

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

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

 

一、框架介绍

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

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