代码审计与安全防范

7 articles

天融信关于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

php代码审计之弱类型引发的灾难

天融信阿尔法实验室 李喆

有人说php是世界上最好的语言,这可能是对开发人员来说,确实有这方面的特点,因为它开发起来不像其他语言那样麻烦,就比如:弱类型,它不需要像java等语言那样明确定义数据类型。这给开发带来了很大的便利,所有的数据类型都可以用$xx来定义,而不需要int i,string a,fload b等等这样去定义它。这样确实很方便,因为php帮助你判断了数据类型,比如整形int ,你只要$a=1;那这个1就是整形,$a=’abc’那这个abc就会被php判断为字符串类型。但是弱类型方便是方便,但是带来的安全问题也是巨大的,很多的php安全漏洞都是因为它带来的。

本文是[......]

Read more

php代码审计之preg_replace引发的phpmyadmin(4.3.0-4.6.2)命令执行漏洞

天融信阿尔法实验室 李喆

这里拿cve-2016-5734讲讲preg_replace引发的命令执行漏洞,漏洞在exploit-db上有利用脚本,经过测试没有问题。这里对这个漏洞进行一下回溯跟踪来解释下preg_replace这个正则替换函数带来的问题。

0×01 漏洞触发原理

preg_replace漏洞触发有两个前提:

01:第一个参数需要e标识符,有了它可以执行第二个参数的命令

02:第一个参数需要在第三个参数中的中有匹配,不然echo会返回第三个参数而不执行命令,举个例子:

//echo preg_replace(‘/test/e’, ‘phpinfo()’[......]

Read more

PHP安全编码规范之安全配置篇

天融信阿尔法实验室 李喆

因为配置不当引发的安全问题是屡见不鲜的,通过一系列的安全配置,可以很好的解决一些安全隐患,从而为系统增加安全系数。但是在开发过程中,因为需求的改变和编程的习惯可能会更改一些配置同时带来安全隐患。在这种情况下,需要更加的了解配置带来的安全隐患,也就是漏洞的产生原理。同时需要了解在打开一些配置安全隐患之后,该如何通过一些其他手段解决安全问题是我们重点需要讨论的问题。

0×01注册全局变量带来的安全隐患

register_globals这个是开启全局注册变量功能,为On是开启,Off是关闭。在开启后带来的安全隐患是巨大的,所以建议关闭。如果在需求上需要开启,在02[......]

Read more

用alphafuzzer挖掘网络协议漏洞

AlphaFuzzer挖掘某通讯软件的内存破坏漏洞
AlphaFuzzer是一款多功能的漏洞挖掘框架,截止到1.3版本,AlphaFuzzer只包含了文件格式的漏洞挖掘框架。从1.4版本开始,AlphaFuzzer增加了网络协议漏洞挖掘框架。
图片1
如上图为测试版网络协议框架的界面,数据窗口用于定义数据包的文件格式,与文件格式挖掘框架使用相同的解析引擎。行为窗口用来定义测试时候需要的一些网络行为,支持的api语句有:
Recv:接受数据。
SendAll:发送数据窗口构建的数据。
SendHex:发送指定的二进制数据。
SendTxt:发送指定的文本型数据。
Sleep:系统等待一[......]

Read more