SEACMS 代码审计后台漏洞两则

admin 2021年5月13日01:36:26评论164 views字数 1366阅读4分33秒阅读模式

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

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

SEACMS 代码审计后台漏洞两则

漏洞定位

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

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

如上图所示,显然可以通过 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 函数,试图找出结构类似的代码段,看看是否存在相同的问题。

SEACMS 代码审计后台漏洞两则

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

漏洞利用

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

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

一处 getshell

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

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

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

SEACMS 代码审计后台漏洞两则

最后

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

SEACMS 代码审计后台漏洞两则

本文始发于微信公众号(信安之路):SEACMS 代码审计后台漏洞两则

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年5月13日01:36:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SEACMS 代码审计后台漏洞两则http://cn-sec.com/archives/251489.html

发表评论

匿名网友 填写信息