主页 > 网络编程 > ThinkPHP 5.1框架结合RCE漏洞的深入分析

ThinkPHP 5.1框架结合RCE漏洞的深入分析

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

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

一、框架介绍

ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。

二、环境搭建 2.1 Thinkphp环境搭建

安装环境:Mac Os MAMP集成软件

PHP版本:5.6.10

Thinkphp版本:5.1.20

thinkphp安装包获取(Composer方式):

首先需要安装composer。

curl -sS https://getcomposer.org/installer | php

下载后,检查Composer是否能正常工作,只需要通过 php 来执行 PHAR:

若返回信息如上图,则证明成功。

然后将composer.phar 移动到bin目录下并改名为composer:

mv composer.phar /usr/local/bin/composer

Composer安装好之后,打开命令行,切换到你的web根目录下面并执行下面的命令:

composer create-project topthink/think=5.1.20 tp5.1.20 --prefer-dist

若需要其他版本,可通过修改版本号下载。

验证是否可以正常运行,在浏览器中输入地址:

http://localhost/tp5.1.20/public/

如果出现上图所示,那么恭喜你安装成功。

2.2 IDE环境搭建及xdebug配置

PHP IDE工具有很多,我推荐PhpStorm,因为它支持所有PHP语言功能, 提供最优秀的代码补全、重构、实时错误预防、快速导航功能。

PhpStorm下载地址:https://www.jetbrains.com/phpstorm/

Xdebug

Xdebug是一个开放源代码的PHP程序调试器,可以用来跟踪,调试和分析PHP程序的运行状况。在调试分析代码时,xdebug十分好用。

下面我们说一下xdebug怎么配置(MAMP+PHPstrom)

1. 下载安装xdebug扩展(MAMP自带 )。

2. 打开php.ini文件,添加xdebug相关配置

[xdebug]

xdebug.remote_enable = 1

xdebug.remote_handler = dbgp

xdebug.remote_host = 127.0.0.1

xdebug.remote_port = 9000 #端口号可以修改,避免冲突

xdebug.idekey = PHPSTROM

然后重启服务器。

3. 客户端phpstorm配置

3.1 点击左上角phpstorm,选择preferences

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!