php代码审计之bluecms

环境搭建

bluecms下载地址:http://down.chinaz.com/download.asp?id=26181&dp=1&fid=19&f=yes

作者用的是5.4.x的php版本,mysql数据库环境为GBK
安装好环境先,数据库用户名密码,跟本地数据库一致
在这里插入图片描述
还是利用seay自动审计一下,总的来说误报率还挺高…
在这里插入图片描述

开始找洞洞

假面骑士bulid梗

sql注入-1

/bluecms/ad_js.php
这里可以看到ad_id参数带入到../include/mysql.class.phpgetone()函数中,并将执行语句结果以html的注释格式输出显示
在这里插入图片描述
跟进到该getone()函数,发现将$sql语句执行
在这里插入图片描述
构造ad_id参数
在这里插入图片描述
查看到其数据库名
在这里插入图片描述

后台sql注入-2

/bluecms/admin/article.php
新闻删除功能。该红框中,直接将GET请求中的id参数带入到.../include/mysql.class.phpgetone()函数中。
(而且可以看到下一行的sql语句则是对id参数做了取整过滤)

在这里插入图片描述
其存在时间盲注
在这里插入图片描述
盲注出了数据库名"bluecms"的第一位"b"的ascii码为98
在这里插入图片描述

sql注入-3

/bluecms/admin/nav.php
这里对navid参数是直接GET请求获取并带入sql语句中执行
在这里插入图片描述
利用时间盲注验证了确实存在该漏洞
在这里插入图片描述

任意文件删除-1

/bluecms/user.php
如果face_pic3参数中的文件存在,则删除该指定文件。往上跟进,face_pic1要空才会执行face_pic3的删除。且我在bluecms主目录下新建一个1.txt
在这里插入图片描述
将该功能数据包中的face_pic1置空
在这里插入图片描述
face_pic3处指定1.txt,可以看到原先bluecms目录下新建的1.txt被删除
在这里插入图片描述

任意文件删除-2

/bluecms/admin/database.php
对备份文件进行删除时,可目录遍历指定任意文件
在这里插入图片描述
在这里插入图片描述

前后台广告功能xss-1
先看后台

/bluecms/admin/ad.php
在新增与编辑广告功能处,看ad_name,content,exp_content参数,都没有对参数做html实体编码的过滤,而是直接写进数据库并显示

elseif($act == 'do_add')
{
	$ad_name = !empty($_POST['ad_name']) ? trim($_POST['ad_name']) : '';
	$time_set = isset($_POST['time_set']) ? intval($_POST['ad_name']) : 0;
	.	
	.
	. 
 $content = "<a href=\"{$_POST['content']['link']}\" target=\"_blank\"><img src=\"{$_POST['content']['url']}\"$width $height border=\"0\" /></a>";
	}
	$exp_content = !empty($_POST['exp_content']) ? trim($_POST['exp_content']) : '';
	$sql = "INSERT INTO ".table('ad')." (ad_id, ad_name, time_set, start_time, end_time, content, exp_content) VALUES ('', '$ad_name', '$time_set', '$start_time', '$end_time', '$content', '$exp_content')";
	$db->query($sql);
	showmsg('添加新广告成功', 'ad.php');

对以上三个参数构造恶意js语句:-->%0a<script>alert(1)</script>
在这里插入图片描述
后台广告编辑界面发生弹窗

再看前台

/bluecms/ad_js.php
ad_js.php中的ad_content就是对数据库中的exp_contentcontent字段内容进行前端的输出显示
在这里插入图片描述
-->%0a<script>alert(1)</script>能恰好完成注释的闭合,构造恶意js语句发生弹窗
在这里插入图片描述
在这里插入图片描述

个人资料处xss-2

/bluecms/user.php
sex,address的以外参数都未进行过滤
在这里插入图片描述
跟进到数据库表中看到字段类型及长度,红框内的字段长度和类型都满足xss语句的写入
在这里插入图片描述
email,msn表框写入xss语句
在这里插入图片描述
触发xss弹窗
在这里插入图片描述

新闻处xss-3

/bluecms/user.php?act=do_add_news
跟踪content参数的过滤函数filter_data
在这里插入图片描述
做了正则匹配的替换,很容易进行绕过,如利用<img/><svg/>等标签或者<sCripT>大小写绕过或者<scir<script>pt>重写绕过
在这里插入图片描述
在这里插入图片描述
跟踪另一个参数descript,仅对此参数做了mb_substr()长度的限制,虽然写进数据库,但是前端并未对该字段进行显示输出。所以仅编辑该参数是不存在xss漏洞的
在这里插入图片描述

充值卡xss-4

/bluecms/admin/card.php
后台对充值卡进行添加编辑的时候,name参数未进行任何过滤,直接写进了数据库表中
在这里插入图片描述
后台对充值卡名进行恶意构造,可触发xss漏洞
在这里插入图片描述

找不到文件上传漏洞之——分析一个文件上传处

例:个人资料的头像上传处
face_pic参数是上传的文件,经过img_upload函数
在这里插入图片描述
跟进到/bluecms/include/upload.class.phpimg_upload函数,对文件类型content-type进行了allow_image_type的白名单过滤;进一步经过get_type函数
在这里插入图片描述
跟进到/bluecms/include/upload.class.phpget_type函数,对.最后一次出现的位置及之后字符串,进行文件后缀的白名单过滤
在这里插入图片描述
在这里插入图片描述
总的来说…还有挺多类似的漏洞的,就不一个个列举了
 
GOT IT!

 
******************************************************
具体利用方式需根据具体实践场景~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
bluecms机械企业网站源码简介 bluecms机械企业网站源码是一个专为机械类企业进行开发的网站源码。 软件特点: 1、一个数据库可以建立无限个网站 支持动态 伪静态 纯静态 2、支持栏目自定义字段和项目自定义字段 3、多语言 wap bluecms机械企业网站源码系统功能: 1、功能频道:内容频道(强大自定义功能)、产品频道(强大自定义功能)、交互(留言)频道,可以自由添加频道 2、插件模块:支付管理、购物管理、会员管理、广告管理、专题管理、评论管理、链接管理等 3、系统功能:静态HTML生成、自定义模板标签、附件清理、数据备份恢复 5、自定义字段:强大的自定义字段功能,可按栏目、频道添加各种输入字段,包括文本、数字、单选、多选、编辑器、单附件、多附件、频道关联,并可针对附件单独制定缩略图设置 6、搜索引擎优化:独立的页面优化信息设置,方便快捷 7、HTML静态:全站纯静态生成功能 8、伪静态:全站伪静态功能,可自由指定伪静态规则 9、附件检测:自动附件清理功能,一键清除未使用多余附件,保持系统纯净 10、高效缓存:全站高效缓存机制,运行飞速体验 11、模板代码生成器:自带模板调用生成器,零基础也能快速制作模板标签 12、全功能权限设定:分组机制管理权限设定,全功能全栏目均可指定管理权限 bluecms机械企业网站源码前台页面 bluecms机械企业网站源码后台管理 后台路径 admin.php 用户名:admin 密码:admin888 后台页面 相关阅读 同类推荐:企业网站源码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值