都知道,mvc的话 除了根目录还有public目录可以访问,其他的访问都是不行的,因为会默认都是会解析url

然后我们来看今天的猪脚

大概的图片上传还有远程文件加载我黑盒测过了  就是想捞一个快一点的漏洞

让我注意到的一个地方

模板风格  也就是意味着我们可以对模板进行修改,我们试试

很可以 都是php文件 但是呢

这些文件都在

3

是在视图文件下  我们是无法访问的

那么 我们有什么办法呢

没错  路径可控

来看看代码吧

public  function edit(){
            $data=$this->input->post();
            if(!empty($data)){//写入文件信息
				 $style = isset($data['info']['style']) && trim($data['info']['style']) ? trim($data['info']['style']) : '';
				 $file = isset($data['info']['file']) && trim($data['info']['file']) ? trim($data['info']['file']) : '';
				 if($style=='css'){
			       $dir="../skin/css/".$file;
		         }elseif($style=='template'){
			       $dir="../application/views/".$file;
			     }

				 if(write_file($dir, $data['info']['content'])){
				         $this->message('修改成功!',site_url($this->router->class.'/edit?style='.$style.'&file='.$file));
                 }else{

                       $this->message('修改失败 !请检查文件权限'.$dir,site_url($this->router->class.'/edit?style='.$style.'&file='.$file));
                 }

  可以看到 post的参数我们都是可控

也就是意味着$file这个参数我们能控制住

so

getshell

关于一个mvc架构的cms的后台getshell的更多相关文章

  1. 一个MVC架构的线程安全的银行转账案例(事务控制)

    mvc结构: 准备阶段:jar包 ,dbcpconfig.propertie(数据源配置文件 ) ,DBCPUtil. jar包: dbcp配置文件: driverClassName=com.mysq ...

  2. 一个初学者对于MVC架构的理解

    我很早之前就开始接触.NET开发,一直都在2.0的框架下,所以对于MVC这种架构,听说过,但没有具体使用过,近期和外部朋友接触时,有了解到他们公司在使用MVC这种架构,所以自己就找来相关资料了解一下M ...

  3. MVC架构学习

    作为一名小小的GreenBird,学习MVC呢,已经花费了2天了,期间得到了美丽的学姐的帮助,初步整理了一下. 首先,学习MVC呢就先以一个标准的MVC的简单的例子来入手,然后根据学姐的PPT,我用v ...

  4. Android 四大组件 与 MVC 架构模式

    作为一个刚从JAVA转过来的Android程序员总会思考android MVC是什么样的? 首先,我们必须得说Android追寻着MVC架构,那就得先说一下MVC是个啥东西! 总体而来说MVC不能说是 ...

  5. MVC架构下,使用NPOI读取.DOCX文档中表格的内容

    1.使用NPOI,可以在没有安装office的设备上读wiod.office.2.本文只能读取.docx后缀的文档.3.MVC架构中,上传文件只能使用form表单提交,转到控制器后要依次实现文件上传. ...

  6. 【.Net架构】BIM软件架构03:Web管控平台MVC架构

    一.前言        上一篇讲述的是将BIM平台后台架构CoreService.sln,该解决方案主要作用是对管控平台的核心业务进行封装,然后让前端的ApiController去调用该解决方案中的对 ...

  7. MVC架构在Asp.net中的应用和实现

    转载自:http://www.cnblogs.com/baiye7223725/archive/2007/06/07/775390.aspx 摘要:本文主要论述了MVC架构的原理.优缺点以及MVC所能 ...

  8. 前端调用后端的方法(基于restful接口的mvc架构)

    1.前端调用后台: 建议用你熟悉的一门服务端程序,例如ASP,PHP,JSP,C#这些都可以,然后把需要的数据从数据库中获得,回传给客户端浏览器(其实一般就是写到HTML中,或者生成XML文件)然后在 ...

  9. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

随机推荐

  1. js刷新页面location.reload()用法

    转: js刷新页面location.reload()用法 2018年05月10日 10:23:28 大灰狼的小绵羊哥哥 阅读数 31359更多 分类专栏: [前端面试点滴知识 ]   本文介绍了js刷 ...

  2. linux禁止特定ip访问某个端口

    linux禁止特定ip访问某个端口   解决方法: 禁止特定ip访问8501端口的命令0:iptables -I INPUT -s 192.168.0.232 -ptcp --dport 8501 - ...

  3. web手工项目03-登录功能测试用例及缺陷编写-流程图画法-前后台下单及发货流程图-流程图设计测试用例方法-功能测试涉及到的四种数据库场景

    回顾 注册功能测试(步骤,需求分析(输入分析,处理分析,输出分析),数据构造(有效等价类,无效等价类,有效数据,无效数据),编写用例,执行用例,缺陷报告) 轮播图功能测试(步骤,需求分析拆分测试点,测 ...

  4. linuxan安装redis出现Newer version of jemalloc required错误

    linux安装redis执行make命令时出现问题 解决方法 make MALLOC=libc 如果要指定安装文件夹 使用命令:make PREFIX  = /usr/local/redis(文件夹路 ...

  5. vue等单页面应用及其优缺点

    优点: Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件,核心是一个响应的数据绑定系统.MVVM.数据驱动.组件化.轻量.简洁.高效.快速.模块友好. 缺点: 不支持低版本 ...

  6. selenium + python 环境配置 (三)之启动chrome

    安装启动chromedriver的方法和ie类似 2.启动chrome 即selenium调用ChromeDriver打开Chrome浏览器 ①下载并解压,你会得到一个chromedriver.exe ...

  7. golang 切片扩容, 时间复杂度

    在切片扩容时,如果原来的底层数组足够大,能放的下 append 的数据,就不会新建底层数组.而如果不够的话,则会分配一个新的数组.也因此是 O(n) 的时间复杂度

  8. CVE-2019-0708 RDP MSF漏洞利用

    CVE-2019-0708 RDP MSF漏洞复现 漏洞环境 使用 VMware 安装Windows7 X64 模拟受害机 Windows7 X64下载链接:链接: https://pan.baidu ...

  9. 1、6 登陆 通过name 查到一个对象,如果没有。提示用户名不存在,再将查到的pwd 加传过来的pwd(需要加密)比较

    @RequestMapping("/login") public Object login(Student student) { Student s=studentService. ...

  10. springboot集成elk 二:springboot + elk 采集日志

    到logstash-2.0.0\bin下新建文件 logstash.conf input { tcp { mode => "server" host => " ...