Bluecms 代码审计,入门级别
发布日期:2021-06-27 12:56:25 浏览次数:26 分类:技术文章

本文共 1033 字,大约阅读时间需要 3 分钟。

以后每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的漏洞等等

转载地址:https://blog.csdn.net/weixin_43460070/article/details/107879145 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:代码审计-es*cms v6.7版本 文件包含漏洞
下一篇:Django的MTV与MVC区别

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月22日 01时23分55秒