zoukankan      html  css  js  c++  java
  • maccms代码审计

    由于工作原因,分析了很多的cms也都写过文章,不过觉得好像没什么骚操作都是网上的基本操作,所以也就没发表在网站上,都保存在本地。最近突然发现自己博客中实战的东西太少了,决定将以前写的一些文章搬过来,由于当时写的初4是给自己留个记录,以后方便查看,所以写的都很简单,只有代码审计和复现,没有详细写挖掘中遇到的一些坑。以后写的文章中会尽量写详细的

    maccms7.x前台盲注

    user/index.php

    可以看到直接接收了请求中的u_group参数后进行分割,最后传入了sql语句中,虽然be()方法中转义了单引号,但是接下来的sql语句中并没有用单引号进行拼凑

    复现

     

     

    maccms8.x前台任意文件读取

    在入口文件index.php中接收get参数m,分割后用于指定包含不同的controller文件

    当m为label-xxx时,包含label.php文件,跟进

     

    再次获取参数m,获取m的后半部分字符串,用于指定读取文件的文件名,并通过pageshow()将读取的内容展示在页面上。跟进17行处的loadFile()

    由于没有对文件名做校验,导致可以通过../进行路径变量

     复现:

     maccms8.x 后台任意文件删除导致系统重装

     后台自定义广告处可以删除文件,由于没有对删除文件的文件名做校验,导致可以通过../进行路径回溯删除任意文件。

     

    点击删除后抓包,修改参数,删除锁文件

    访问首页,显示系统安装

    由于该操作没有csrf的防范措施,可以使用结合csrf使用,效果更佳,还是个get类型的csrf,poc如下:

    http://127.0.0.1/maccms8/admin/?m=template-adsdel-file-../../../inc/install.lock

  • 相关阅读:
    Redis扩展功能
    Redis持久化
    redis-通讯协议及事件处理机制
    Redis-数据类型与底层数据结构
    分布式集群架构场景化解决方案
    MySQL-运维和第三方工具
    缓存原理&设计
    MySQL性能优化
    MySQL高级-日志常用的工具等等
    Mysql高级——优化
  • 原文地址:https://www.cnblogs.com/jinqi520/p/11008915.html
Copyright © 2011-2022 走看看