• ShopXO商城系统文件上传0Day代审历程


    Git仓库:

    https://github.com/gongfuxiang/shopxo
    
    • 1

    简介:

    两天攻防中,某政局内网横向发现多网段服务器,该服务器搭建了ShopXO商城系统(后来发现是开发临时搭建的,准备做二开用的)。结果花了30来秒审了个垃圾Day拿下该服务器,本文就是给新手提供思路(没交cnvd,懒)。

    0x01、历史nDay漏洞探测:

    别问,问就是谷歌(百度也行,大型CMS更建议谷歌,配合团队漏洞库):

    在这里插入图片描述

    注:优先看能getShell的nDay漏洞

    该nDay漏洞利用流程简介:

    1、后台弱口令->应用管理->应用商店下载主题(随便一个,default_static_ 目录下放置webshell)

    在这里插入图片描述

    在这里插入图片描述

    2、后台->网站管理->主题管理->上传主题zip安装(根据安装后显示的图片路径推测webshell路径)

    在这里插入图片描述

    实际环境中该CMS为最新版本,经复测该漏洞已修复,php落地失败!!!

    0x02、代码审计0Day

    1、审原漏洞修复是否可绕过

    1.1、通过关键词检索功能点函数

    因为懒,所以直接在git上审代码,新手建议下载源码搭建后,边审代码边调试。

    • 当前项目代码中查找:

        repo:gongfuxiang/shopxo
      
      • 1
    • 关键词:

        主题、upload、zip、php(猜测有过滤php这个字符串,不是检索php文件的意思)
      
      • 1
    • 最终检索语句:

        repo:gongfuxiang/shopxo 主题 upload zip php
      
      • 1

    在这里插入图片描述

    1.2、根据函数名以及备注推测,应该是这个函数:

    在这里插入图片描述

    1.3、跟进查看进入函数function ThemeUploadHandle:

    在这里插入图片描述

    1.4、跟入上传处理function ThemeUploadHandle:

    在这里插入图片描述

    1.5、因默认配置,不会解析类似php3等存在,这个时候问题来了,是否通过可以通过.user.ini、.htaccess文件进行绕过,这时候才注意到有做排除:

    在这里插入图片描述

    2、代审其他功能点:

    	根据功能点看到有个上传插件的功能,我赌它的枪里没有子弹!
    
    • 1

    2.1、通过关键词检索功能点函数

    • 当前项目代码中查找:

        repo:gongfuxiang/shopxo
      
      • 1
    • 关键词:

        插件、upload、zip
      
      • 1
    • 最终检索语句:

        repo:gongfuxiang/shopxo 插件 upload zip 
      
      • 1

    2.2、上传插件功能点:

    在这里插入图片描述

    2.3、跟踪入上传处理function UploadHandle:

    在这里插入图片描述

    2.4、路由懒得审,怎么办?

    • 1、根据压缩包路径、源码路径结构相互结合推测路径;
    • 2、根据插件自带php的功能点抓包路径,推测同路径下webshell路径;
    • 3、一般插件,会写成class,寻找原插件包中namespace,php文件会放入其中;
    • 4、支持多平台的cms,app路径下的php文件一般可直接访问,不需要路由;
      在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    完美符合我的小技巧,直接成功访问http://xxxxx/app/plugins/newuserreduction/admin/phpinfo.php
    注:只是小技巧,不是万能的,路径不对就得耐心审路由

    在这里插入图片描述

    0x03、然后

    然后…然后阿巴阿巴

    我想回家养老,我想每天睡到自然醒,这一天天的好累

    找不到人生的意义

  • 相关阅读:
    Scrum五大会议要怎么开?
    机器学习基础
    Python FastApi 解决跨域及OPTIONS预请求处理
    Ubuntu22.04系统基本配置(分区、NVIDIA驱动安装、docker和nvidia-docker安装)
    基于JAVA旅游景区预约管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    两相障碍问题的FEM近似及其后验误差估计(Matlab代码实现)
    OpenCV图像处理学习二十一,直方图比较方法
    c++枚举
    h5日历组件制作
    Flutter 使用 CustomPaint 绘制基本图形
  • 原文地址:https://blog.csdn.net/weixin_43526443/article/details/132688153