前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SEACMS 代码审计后台漏洞两则

SEACMS 代码审计后台漏洞两则

作者头像
信安之路
发布2020-02-24 12:51:16
1.1K0
发布2020-02-24 12:51:16
举报
文章被收录于专栏:信安之路信安之路

本文作者:ZiNG(信安之路核心成员)

特殊时期在家都无聊死了,到 CNVD 的网站上看到 seacms 出了一个鸡肋后台的 SQL 注入。想来闲来无事,就下载一套源码看看。漏洞成因很简单很简单,那为啥又要有这篇呢,只是记一下漏洞点,没准以后用的上。

漏洞定位

根据 CNVD 公开出来的描述,以及参照源码的目录结构,漏洞点是在 admin\admin_pay.php。说明一下,在程序安装完成后,后台目录会随机改名,此处改成了 mcc78l

该文件一共有三处对 SQL 语句进行操作的地方,以下列出其中两处,49 行为漏洞点。

35 行处有单引号包裹,48 行处没有。此处没有去分析 Sea CMS 的路由机制,尝试使用 POST 方式传入 $e_id ,增加一些输出语句,来观察特殊符号是否被过滤,以及完整的语句拼接情况。

如上图所示,显然可以通过 POST 传参,并且只转义了单双引号,应该是开启了 GPC 的结果。于是即可对 49 行处的数字型 SQ L注入进行利用了。

payload 如下:

http://127.0.0.1/seacms/mcc78l/admin_pay.php?action=delall e_id[]=(if(length(database())>0,sleep(0),0))

举一反三

根据上述分析,可以发现,这套系统对数组的处理可能不严格。全局搜索 implode 函数,试图找出结构类似的代码段,看看是否存在相同的问题。

使用该函数处理的数组的代码段很多。显然,都存在相同的问题。

漏洞利用

安装完成后登录后台,但此处踩了一个坑。如下图,验证码功能不正常了!!!

捣鼓了一会不知道啥原因,根据安装手册的说法,可能是我没有放置在根目录下造成的吧。

然后在生成验证码的代码处,找到了解决办法。

根据上面代码的逻辑,是判断是否存在 PHP 的 GD 拓展,如果没有安装,那么验证码就是 ABCD。。。感觉有点无语,神逻辑。于是乎,我将 GD 关闭,如下图就登陆成功了。。。。靓仔无语。。。

登录后,取到了 cookie,然后简单的写了一下盲注的脚本,效果如下。

一处 getshell

在跟踪其他文件的 $e_id 变量时,发现如下更新操作,按照之前审计的经验,更新操作大多会进行解压 ZIP 文件,那么我们就可以通过 ZIP 文件来引入 WEBSHELL。

跟进 updateFile 函数,显然是对指定路径下的 ZIP 文件进行解压。而我们能控制这个路径,所以我们可以解压任意文件夹下的 ZIP 文件。

至此,需要找一个上传功能,允许上传 ZIP 文件的即可。在全局搜索关键字 ZIP 可以发现 upload_back.php 可以上传 zip 文件。

简单的制作了一个上传页面,代码如下。

然后通过这个页面上传文件。

会发现一个问题,文件被重命名了,如果后面一个是随机数,那么其实加大了利用难度需要进行大量的爆破。找到具体的代码如下:

会发现其实和日期有关,31 号下午 16 点 48 分钟剩下的两位数靠爆破即可。得到路径以后即可触发解压然后写入 webshell

显然,解压成功了!访问 webshell。

最后

着实无聊,花了一下午简单看了看这套系统,在后台还是有所收获的。后台的漏洞相对鸡肋,着实羡慕那些挖到前台高危的师傅们。唉,挖漏洞嘛,重在参与。希望这个肺炎早点结束,每天在家养花看鸟晒太阳的日子真枯燥。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信安之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 漏洞定位
  • 举一反三
  • 漏洞利用
  • 一处 getshell
  • 最后
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档