BlueCMS代码审计
一、概括
Seay源代码审计系统扫描到306个漏洞,大概都看了看,很多都无法存在,特别是像un_client等文件夹直接拒绝访问,而且其他位置的文件所报告的漏洞都无法复现,不是有过滤就是变量不可控,工具只是简单的对人为制定的规则进行匹配,而且还无法扫描逻辑漏洞,所以扫描器和人工结合最好。 
二、SQL注入漏洞(124个)
1、第一个SQL注入
(1)扫描器显示代码如下:  这里trim函数是去空白的功能,参数用户可控,在代码中输入echo sql去前台验证一下:  可以看出来单引号转义,使用sqlmap可以跑出来:  测试payload,可以发现确实执行了sleep(5) 
源代码在./admin/ad.php 先在页面测试一下。
2、第二个SQL注入(不存在)
系统给的报告:  直接访问发现被拒绝:  查看源代码:  发现是检查IN_UC常量是否存在,不存在则直接访问拒绝,删除试试。 页面空白而且sqlmap跑不出来,失败。
三、任意文件读取/删除/修改/写入(98个)
1、第一个任意文件读取
Seay给出的报告 
 构造payload:http://blue.com/admin/tpl_manage.php?act=edit&tpl_name=…/…/data/config.php 可以读取到该文件,但不能跨盘符读取。 
2、第二个任意文件读取(不存在)
系统给的报告:   直接访问页面:  查看源代码:  看起来只是删除图片的代码,不存在。
四、文件包含漏洞(27个)
1、第一个文件包含(不存在)
系统给出的报告:  直接访问网页:  查看源代码:  可以发现这里的文件是写死的,不允许用户进行更改,不存在。
2、第二个文件包含
系统给出的报告:  访问页面,找到pay的变量:  开启抓包,发送到重发器,更改包内容,发送:(贴个图,这里没出来)
五、代码执行漏洞(22个)
1、第一个代码执行漏洞(不存在)
系统给出的报告:  访问页面:  发现被拒绝,查看代码:  同样有判断,先注释掉试试。  无论如何传值都不可以,不存在。
2、第二个代码执行(不存在)
系统给出的报告:  访问页面为空白页,直接试试:  没有反应,不存在。
五、XSS漏洞(1个)
1、唯一一个XSS
系统给出的报告:  访问网页:  查看源代码:
 直接输入script代码,即可弹出,存在XSS漏洞。 
|