0x01 前言

这个漏洞已经过去了十多天了,最近比较忙,一直没有写分析的文章。今天抽点时间出来写一篇动态分析的文章,远程执行漏洞用动态分析比较方便也看出整个执行的过程和一些变量参数。

ThinkPHP官方最近修复了一个严重的远程代码执行漏洞。这个主要漏洞原因是由于框架对控制器名没有进行足够的校验导致在没有开启强制路由的情况下可以构造恶意语句执行远程命令,受影响的版本包括5.0和5.1版本。

0x02 环境

程序源码下载:http://www.thinkphp.cn/download/967.html
Web环境:Windows 10 x64+PHPStudy 2018
调试工具:phpstorm+xdebug(用vscode也可以,我比较习惯用phpstorm)

xdebug调试配置可以参考我的一篇文章https://getpass.cn/2018/04/10/Breakpoint%20debugging%20with%20phpstorm+xdebug/

因为我是从头分析到尾,所以要在设置里面勾上Break at first line in PHP script