网站安全检测-Gxlcms SQL注入漏洞



                           Gxlcms 小说系统,是目前站长应用较多的一个CMS系统,PHP语言开发,
 
               mysql数据库架构,性能强大,在网站优化方面做的还是比较不错的,前端时间某
 
              一客户网站被黑,导致网站被跳转到赌博网站上去,委托我们对网站进行详细的网
 
              站安全检测,以及代码安全审计。

 
 
               Gxlcms 采用的是thinkphp的一个开放性架构,之前我们也对thinkphp的代码进行
 
              安全检测过,所以这次的网站安全检测相对比较容易一些,但还是要仔细的对每个
 
              代码,每个文件进行详细的安全检测。我们现在下载客户的网站程序源码,先大体
 
              的审查一些整个网站的功能,看下网站的留言板功能,文件上传、评论、会员注册
 
              等比较重要的一些功能页面,然后再去针对特定功能进行网站的安全检测,这样整
 
              体的安全检测效率会更高一些。
 
 
             我们直接定位吧,少走些弯路,在前端页面SearchAction.class.php里发现了漏洞
 
              ,如下图所示:

            

 
 
               可以看到以上的函数strip_tags和htmlspecialchars,一个是html标签的安全过滤
 
               ,一个是HTML注入过滤。这里想讲的是因为我这里测试的是注入,不是xss,因此
 
               这些过滤条件好像无关紧要,但是tp框架自带的单引号转义,我们要绕过去。Sine
 
               安全公司是一家专注于:服务器安全、网站安全、网站安全检测、网站漏洞修复,
 
               渗透测试,安全服务于一体的网络安全服务提供商。
 
 
               然后发现这个函数还调用了评论,那么我们抓包来评论一下,通过抓包修改参数,
 
               我们发现是一个盲注,我们可以直接获取管理员的密码。
 
 
                                 在进行详细的网站安全检测时,我们在网站后台发现了getshell漏洞。
 
                在网站后台的附件设置里,直接可以更改上传文件的类型,但是当我加上一个php
 
                后,竟然没了,仿佛就是preg_replace搞得鬼,然后去源码看了下,才发现了一个
 
                网站漏洞,Sine安全公司是一家专注于:服务器安全、网站安全、网站安全检测、
 
                网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。
 
 
                $upload_class = str_replace(array("php", "asp", "apsx", "txt", "asax", 
 
                "ascx", "cdx", "cer", "cgi", "jsp", "html", "html", "htm", ",,"), "", 
 
                strtolower(C("upload_class")));1$upload_class = str_replace(array("php", 
 
                "asp", "apsx", "txt", "asax", "ascx", "cdx", "cer", "cgi", "jsp", 
 
                "html", "html", "htm", ",,"), "", strtolower(C("upload_class")));
 
                将这些字符串进行替换处理,多少次注入绕过,漏洞代码就是这么写的。
 
                这里我添加的是pphphp,由于会替换php为空,这里会将中间的第一个php删掉,最
 
                后留下php,即可以上传php大马并获取网站的权限。
 
分享: