s-cms企业建站系统 PHP版 V3.0前台存在SQL注入<CVE-2018-18427>

发布于 2018,10,13  2205 次阅读



0x0 简介

S-CMS企业建站系统是淄博闪灵网络科技有限公司开发的一款专门为企业建站提供解决方案的产品,前端模板样式主打HTML5模板,以动画效果好、页面流畅、响应式布局为特色,程序主体采用ASP+ACCESS/MSSQL构架,拥有独立自主开发的一整套函数、标签系统,具有极强的可扩展性,设计师可以非常简单的开发出漂亮实用的模板。系统自2015年发布第一个版本以来,至今已积累上万用户群,为上万企业提供最优质的建站方案。

版本:企业建站系统 PHP版 V3.0 build20181007

下载地址:https://www.s-cms.cn/download.html?code=php


0x1 漏洞利用

由于该cms对核心文件进行了加密,又买不起vip在线解密,就只有对一些重要的地方进行fuzz了,fuzz结果如下:

$_GET:该方式获取到的数据不会过滤双引号与反斜杠,但是存在单引号就拦截。

$_POST:该方式获取到的数据会对单引号,双引号,反斜杠进行安全转义处理。

$_REQUEST:该方式通过GET方式传参效果同$_GET一样,但是在POST方式下传参不做任何处理。

 

内置的安全函数:Replace_Text()这是该cms主要的安全函数,效果如下:

Replace_Text():该函数会对单引号进行安全转义操作,但是不处理反斜杠与双引号。


 

漏洞文件:\member\post.php

图片1.png



通过上面对$_REQUEST获取数据分析,这里造成了注入。

直接访问:(无需登录会员)/member/post.php?O_id=-1%20union/**/select/**/1,2,3,4,5,concat(a_login,0x23,a_pwd),7,8,9,10,11%20from%20sl_admin

即可成功注入出管理员账号密码:


图片2.png


会员登录处又存在一处SQL注入,可以直接万能密码登录:

漏洞文件:\member\member_login.php


图片3.png


可以看到$M_login=Replace_Text($_POST["M_login"]);获取的$M_login变量直接拼接进入了sql执行语句,通过上面对$_POSTReplace_Text的安全分析知道,当我们传入一个的时候,会进过$_POST处理为\,当时在经过Replace_Text函数的时候就处理成了\\,这样就导致了单引号逃逸。

输入用户名:or 1=1#

密码:随意

即可成功登录会员。



图片4.png


我的全部野心,就是自由的生活