Bluecms 代码审计,入门级别

以后每3~5天审计一个建站系统,并写下博客作为见证,直到独立审计出通用型漏洞,拿到CNVD证书。
今天要审计的是对入门比较友好的bluecms,代码较为简单,代码量也比较小,下面开始。
一、文件包含漏洞
在这里插入图片描述此次采用灰盒测试,边审计代码边进行验证
在这里插入图片描述搭建成功,进行代码审计的时候,自己搭建本地测试环境是相当必要的,这样可以对自己发现的漏洞进行验证。
我用的是Seay代码审计系统,先进行自动审计,省去我们一部分
时间。
在这里插入图片描述首先是这一处,很明显的文件包含漏洞,act参数在前端是表示用户的行为,当我们点击登陆的时候,就会进入这个页面,
在这里插入图片描述所以猜测,当我们支付的时候,应该就会是这样
在这里插入图片描述

在这里插入图片描述
此处post接受act参数,但是并未对这个参数进行任何过滤,所以应该就是存在文件包含漏洞的,抓包进行测试
在这里插入图片描述我已经提前在www.a.com目录下建立好了一个1.php文件里面就是输出一些内容,
在这里插入图片描述
发送到repeater模块

在这里插入图片描述分析此处如果我们不进行截断的话,就会拼接上后面的index.php
在这里插入图片描述

此处进行说明:在php小于5.4之前的版本可以用多个点来截断
window下是259个’.'就可以进行截断
Linux下要4096个‘.’此外还有常见的“?”截断,或者是%00截断
在这里插入图片描述此处文件包含成功,文件包含漏洞一般是需要配合文件上传来使用,上传含有写木马的代码的图片,因为不论是什么后缀,都会被当成php来解析。

二、sql注入漏洞

在uploads目录下有一个ad_js.php
这里初步看起来是没有任何过滤的,只是验证了一下ad_id参数是否为空,我们深入进去查看一下getone这个函数有没有进行过滤操作
在这里插入图片描述很明显这里是没有任何过滤操作的
基本可以判断存在SQL注入漏洞
前端复现尝试一下
在这里插入图片描述当我们随便传参进来,页面是正常的,下面进行注入测试
在这里插入图片描述order by 1页面返回正常

在这里插入图片描述
order by 1000页面报错,断定存在SQL注入漏洞,后面不再深入验证

三、SQL注入漏洞
在这里插入图片描述在PHP中getenv(参数)函数是一个用于获取环境变量的函数,在这个函数中获取到的ip并没有进行过滤,下面查看哪里调用了这个函数,后面的SQL语句是否直接执行
在这里插入图片描述很显然这里调用了getip这个函数,在执行SQL语句之前并未进行任何过滤,所以此处一定是存在SQL注入漏洞的
收获:想要审计出漏洞,一定要先搞懂站点哪一步进行了什么操作,对应文件和相关参数变化,这样才能深刻理解和挖掘漏洞
先审计到这里,后面应该还会有xss的漏洞等等

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值