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

news2024/11/28 23:36:50

Git仓库:

https://github.com/gongfuxiang/shopxo

简介:

两天攻防中,某政局内网横向发现多网段服务器,该服务器搭建了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
    
  • 关键词:

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

      repo:gongfuxiang/shopxo 主题 upload zip php
    

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

1.4、跟入上传处理function ThemeUploadHandle:

在这里插入图片描述

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

在这里插入图片描述

2、代审其他功能点:

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

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

  • 当前项目代码中查找:

      repo:gongfuxiang/shopxo
    
  • 关键词:

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

      repo:gongfuxiang/shopxo 插件 upload zip 
    

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、然后

然后…然后阿巴阿巴

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

找不到人生的意义

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/975685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

应用于激光雷达、 激光测距、 脉冲测量的高精度时间测量(TDC)电路MS1205N

MS1205N 是一款高精度时间测量 (TDC) 电路,具有四通 道、多脉冲的采样能力、高速 SPI 通讯、多种测量模式,适合 于激光雷达和激光测距。 主要特点 ◼ 单精度模式 60ps ◼ 双精度模式 30ps ◼ 非校准测量范围 3.5ns(0ns) 至 25μs ◼ 单…

【LeetCode】202. 快乐数 - hash表 / 快慢指针

目录 2023-9-5 09:56:15 202. 快乐数 2023-9-5 09:56:15 关键是怎么去判断循环: hash表: 每次生成链中的下一个数字时,我们都会检查它是否已经在哈希集合中。 如果它不在哈希集合中,我们应该添加它。如果它在哈希集合中&#x…

docker安装mysql、clickhouse、oracle等各种数据库汇总

1:docker 安装mongo数据库并使用 官网:https://www.mongodb.com/docs/manual/ 安装 :https://www.zhihu.com/question/54602953/answer/3047452434?utm_id0 安装2:https://www.duidaima.com/Group/Topic/ArchitecturedDesign/91…

MySQL 全局锁、表级锁、行锁详解

前言 MySQL 里面的锁大致可以分成全局锁、表级锁和行锁三类,全局锁和表级锁是在server层实现的。 全局锁 全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状…

华为产业链爆发,这次是系统级的革命

华为Mate60手机爆火,让产业链随之振奋。我们看到,这种改变将是持久的、系统的。 可能在未来20年,这种影响会持续。 01 华为产业链有多长 客观而言,华为产业链可以看作是由多个领域的企业和组织组成的网络,其中包括半…

Linux内核源码分析 (B.1)内核内存布局和堆管理

Linux内核源码分析 (B.1)内核内存布局和堆管理 文章目录 Linux内核源码分析 (B.1)内核内存布局和堆管理一、Linux内核内存布局二、堆管理 一、Linux内核内存布局 64位Linux一般使用48位来表示虚拟地址空间,45位表示物理地址。通过命令:cat/proc/cpuinfo。…

HTML5-4-表单

文章目录 表单属性表单标签输入元素文本域(Text Fields)密码字段单选按钮(Radio Buttons)复选框(Checkboxes)按钮(button)提交按钮(Submit)label标签 文本框(textarea&am…

叉积方法,求点与线段的相对位置

叉积可以用来判断一个点在一条线段的哪个方向。 线段两个端点坐标为 A(x1, y1), B(x2, y2), 假设点 P 的坐标为 (px, py), 则向量 AP 和 BP 的坐标表示为: AP (px - x1, py - y1) BP (x2 - px, y2 - py) 叉积的计算公式为: (py…

基于jeecg-boot的flowable流程自定义业务退回撤回或驳回到发起人后的再次流程提交

更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/nbcio-boot 前端代码:https://gitee.com/nbacheng/nbcio-vue.git 在线演示(包括H5) : http://122.227.135.243:9888 主要…

神仙级python入门教程(非常详细),从0到精通,从看这篇开始!

毫无疑问,Python 是当下最火的编程语言之一。对于许多未曾涉足计算机编程的领域「小白」来说,深入地掌握 Python 看似是一件十分困难的事。其实,只要掌握了科学的学习方法并制定了合理的学习计划,Python 从 入门到精通只需要一个月…

骨传导和入耳式哪个危害大一点?入耳式和骨传导哪种好?

骨传导和入耳式这两种耳机虽然都存在一定的危害,但是入耳式耳机对人体的危害要更大一点。 入耳式耳机直接塞进耳朵这种佩戴方式,会阻塞外部声音的进入,长时间使用可能会导致耳道感染,还可能对听力造成损伤,而骨传导耳…

RecyclerView源码解析(二):结合LinearLayout分析绘制流程

RecyclerView源码解析(二):结合LinearLayout分析绘制流程 封面: 导言 上篇文章中主要已经介绍了RecyclerView的View的三大工作流程(onMeasure,onLayout,onDraw),实际上看了上篇文章…

数学思维导图怎么绘制?这个详细绘制方法了解一下

数学思维导图怎么绘制?数学思维导图是数学学习中的一种重要辅助工具。在复杂的数学问题中,思维导图可以帮助学生更好地理解和组织各个知识点,从而更好地解决问题。在绘制数学思维导图时,有很多工具可供选择,下面就给大…

港陆证券:政策累积效应催生A股普涨行情 北证50指数创最大单日涨幅

周一,在活泼资本商场政策继续推出、不断累积的布景下,A股商场迎来久别的普涨行情。金融、白酒与资源类板块集体发力,带动沪深主板指数高开高走。北交所商场体现更为亮眼,北证50指数收盘大涨5.92%,创该指数前史最大单日…

CSS中图片旋转超出父元素解决办法

下面的两种解决办法都会导致图片缩小&#xff0c;可以给图片进行初始化的宽高设置 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge">…

NIO原理浅析(三)

epoll 首先认识一下epoll的几个基础函数 int s socket(AF_INET, SOCK_STREAM, 0); bind(s, ...); listen(s, ...);int epfd epoll_create(...) epoll_ctl(epfd, ...); //将所有需要监听的socket添加到epfd中while(1) {int n epoll_wait(...);for(接受到数据的socket) {//处…

el-table 垂直表头

效果如下&#xff1a; 代码如下&#xff1a; <template><div class"vertical_head"><el-table style"width: 100%" :data"getTblData" :show-header"false"><el-table-columnv-for"(item, index) in getHe…

【javascript】禁止浏览器调试前端页面

目录 为啥要禁止&#xff1f;无限 debugger基础禁止调试解决对策 为啥要禁止&#xff1f; 由于前端页面会调用很多接口&#xff0c;有些接口会被别人爬虫分析&#xff0c;破解后获取数据&#xff0c;为了杜绝这种情况&#xff0c;最简单的方法就是禁止人家调试自己的前端代码 …

成都瀚网科技有限公司:抖店怎么开通直播?

随着互联网和移动支付的快速发展&#xff0c;越来越多的人选择开设自己的抖音商店。抖音作为国内最受欢迎的短视频平台之一&#xff0c;拥有庞大的用户基础&#xff0c;成为众多创业者青睐的平台。那么&#xff0c;如何经营自己的抖音店铺呢&#xff1f;下面将从几个方面为您介…

C# 中什么是重写(子类改写父类方法)

方法重写是指在继承关系中&#xff0c;子类重新实现父类或基类的某个方法。这种方法允许子类根据需要修改或扩展父类或基类的方法功能。在面向对象编程中&#xff0c;方法重写是一种多态的表现形式&#xff0c;它使得子类可以根据不同的需求和场景提供不同的方法实现。 方法重…