bluecms_v_1.6sp1代码审计

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

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注入 漏洞

  • ad_js.phpSQL注入

    使用seay源代码审计系统自动审计,手动检查发现ad_js.php中$ad_id参数没有过滤就直接拼接到SQL语句中

在这里插入图片描述

跟进getone函数

在这里插入图片描述

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值