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)

最新文章

  1. 【小月博客】 Html5 上传图片 移动端、PC端通用
  2. 关于 getWriter() has already been called for this response 的错误解决办法
  3. Android 读写SD卡的文件
  4. linux之history
  5. php缓存
  6. DevExpress 控件 GridControl常见用法
  7. CSS lib
  8. JS-DOM操作应用高级(二)
  9. Android传感器编程带实例(转)
  10. 浅谈flex布局中小技巧
  11. python打包
  12. django用MySQL数据库链接
  13. numpy 库简单使用
  14. Python之自测代码标识__name__=='__main__'
  15. 【git】git add 添加错文件 撤销
  16. vertical-align垂直对齐用法
  17. Centos7.6 安装DNS服务器
  18. Linux mmc framework1:软件架构
  19. MySql查询最近一个月,一周,一天
  20. classLoader.getResourceAsStream中文乱码

热门文章

  1. File file = new File("路径名") 路径名的2种写法
  2. Winform里面的缓存,MemoryCache使用
  3. java_生态环境
  4. Eclipse之父、《设计模式》作者、Junit作者之Erich Gamma
  5. Java多线程知识总结(一)
  6. pip in windows
  7. node nightmare 网页自动化测试 sample
  8. 使用 RSA 非对称加密保证数据不被篡改 java 例子代码
  9. DeviceIoControl函数对应的四种数据交换方式
  10. Linux磁盘监控工具说明