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

Git仓库:

https://github.com/gongfuxiang/shopxo

简介:

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

0x01、历史nDay漏洞探测:

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

ShopXO商城系统文件上传0Day代审历程_第1张图片

注:优先看能getShell的nDay漏洞

该nDay漏洞利用流程简介:

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

ShopXO商城系统文件上传0Day代审历程_第2张图片

ShopXO商城系统文件上传0Day代审历程_第3张图片

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

ShopXO商城系统文件上传0Day代审历程_第4张图片

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

0x02、代码审计0Day

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

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

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

  • 当前项目代码中查找:

      repo:gongfuxiang/shopxo
    
  • 关键词:

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

      repo:gongfuxiang/shopxo 主题 upload zip php
    

在这里插入图片描述

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

ShopXO商城系统文件上传0Day代审历程_第5张图片

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

ShopXO商城系统文件上传0Day代审历程_第6张图片

1.4、跟入上传处理function ThemeUploadHandle:

ShopXO商城系统文件上传0Day代审历程_第7张图片

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

ShopXO商城系统文件上传0Day代审历程_第8张图片

2、代审其他功能点:

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

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

  • 当前项目代码中查找:

      repo:gongfuxiang/shopxo
    
  • 关键词:

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

      repo:gongfuxiang/shopxo 插件 upload zip 
    

2.2、上传插件功能点:

ShopXO商城系统文件上传0Day代审历程_第9张图片

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

ShopXO商城系统文件上传0Day代审历程_第10张图片

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

  • 1、根据压缩包路径、源码路径结构相互结合推测路径;
  • 2、根据插件自带php的功能点抓包路径,推测同路径下webshell路径;
  • 3、一般插件,会写成class,寻找原插件包中namespace,php文件会放入其中;
  • 4、支持多平台的cms,app路径下的php文件一般可直接访问,不需要路由;
    ShopXO商城系统文件上传0Day代审历程_第11张图片

ShopXO商城系统文件上传0Day代审历程_第12张图片
ShopXO商城系统文件上传0Day代审历程_第13张图片

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

ShopXO商城系统文件上传0Day代审历程_第14张图片

0x03、然后

然后…然后阿巴阿巴

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

找不到人生的意义

你可能感兴趣的:(代码审计,web安全防护,渗透测试,代码审计,0day,web漏洞,渗透测试,文件上传漏洞,代审)