bluecms_v_1.6sp1代码审计
cms概况
bluecms v1.6 sp1是一个比较古老的cms,目录结构也比较简单。网站主要防护在/include/common.inc.php文件中,对$_GET、$_POST、$_COOKIES、$_REQUEST使用deep_addslashes()函数过滤一遍,漏了$_SERVER,deep_addslashes函数是使用addslashes函数对输入值中的预定义字符做转义
代码审计
将代码放入seay源代码审计系统中自动审计,先对扫描出来疑似存在漏洞的地方审计一遍,然后在对重点功能或文件进行审计。
1、重装漏洞
在搭建实验环境的时候,但安装进行到最后一步时却网页空白显示,但实际上又确实是安装好了网站也可以正常 访问(搭建环境时记得修改php.ini文件调低其报错敏感程度,不然会报一些无关重要的错误)。
这时重新访问安转文件,依旧可以进入安转步骤
搭建完成 ,能够正常使用

访问安转文件,可以进入安转界面进行重装

一般cms安装完成后,都会生成一个类似install.lock的文件,用以检测cms已经安转好了。
这里安转完成是会在data目录生成一个 install.lock文件,但进入安装程序后检测是否有这个文件判断是否安装过了


这里安转好后却没有生成install.lock文件
测试发现原因是由于index.php文件开头和结尾都包含了/include/common.inc.php文件,而inc文件调用了smarty类文件,这里造成了重复调用,require错误,不会继续执行代码。也就不会生成install.lock文件,解决办法是将require 改成require_once,如果已经被包含,则不会再次包含。



2、SQL注入 漏洞

跟进getone函数

除了common.inc.php中deep_addslashes函数会转义预定义字符外再无任何过滤,直

文章详细描述了BlueCMSv1.6sp1中的多个安全漏洞,包括重装漏洞(缺少install.lock文件生成),SQL注入(如ad_js.php和user.php中的宽字节注入),XSS漏洞(存储型XSS在guest_book.php和user.php中),文件包含漏洞(用户选择支付方式时的路径截断),SSRF漏洞(用户修改资料时的路径验证缺陷),以及任意文件删除漏洞(在user.php的个人资料更新中)。这些问题表明该CMS系统存在严重的安全风险。
最低0.47元/天 解锁文章
1144

被折叠的 条评论
为什么被折叠?



