BlueCMS代码审计

代码审计实战·网安·生命在于折腾 · 2021-10-26 · 151 人浏览
BlueCMS代码审计

BlueCMS代码审计

一、概括

Seay源代码审计系统扫描到306个漏洞,大概都看了看,很多都无法存在,特别是像un_client等文件夹直接拒绝访问,而且其他位置的文件所报告的漏洞都无法复现,不是有过滤就是变量不可控,工具只是简单的对人为制定的规则进行匹配,而且还无法扫描逻辑漏洞,所以扫描器和人工结合最好。
image.png

二、SQL注入漏洞(124个)

1、第一个SQL注入

(1)扫描器显示代码如下:
image.png
这里trim函数是去空白的功能,参数用户可控,在代码中输入echo sql去前台验证一下:
image.png
可以看出来单引号转义,使用sqlmap可以跑出来:
image.png
测试payload,可以发现确实执行了sleep(5)
image.png

源代码在./admin/ad.php
先在页面测试一下。

2、第二个SQL注入(不存在)

系统给的报告:
image.png
直接访问发现被拒绝:
image.png
查看源代码:
image.png
发现是检查IN_UC常量是否存在,不存在则直接访问拒绝,删除试试。
页面空白而且sqlmap跑不出来,失败。

三、任意文件读取/删除/修改/写入(98个)

1、第一个任意文件读取

Seay给出的报告
image.png

image.png
构造payload:http://blue.com/admin/tpl_manage.php?act=edit&tpl_name=../../data/config.php
可以读取到该文件,但不能跨盘符读取。
image.png

2、第二个任意文件读取(不存在)

系统给的报告:
image.png
image.png
直接访问页面:
image.png
查看源代码:
image.png
看起来只是删除图片的代码,不存在。

四、文件包含漏洞(27个)

1、第一个文件包含(不存在)

系统给出的报告:
image.png
直接访问网页:
image.png
查看源代码:
image.png
可以发现这里的文件是写死的,不允许用户进行更改,不存在。

2、第二个文件包含

系统给出的报告:
image.png
访问页面,找到pay的变量:
image.png
开启抓包,发送到重发器,更改包内容,发送:(贴个图,这里没出来)image.png

五、代码执行漏洞(22个)

1、第一个代码执行漏洞(不存在)

系统给出的报告:
image.png
访问页面:
image.png
发现被拒绝,查看代码:
image.png
同样有判断,先注释掉试试。
image.png
无论如何传值都不可以,不存在。

2、第二个代码执行(不存在)

系统给出的报告:
image.png
访问页面为空白页,直接试试:
image.png
没有反应,不存在。

五、XSS漏洞(1个)

1、唯一一个XSS

系统给出的报告:
image.png
访问网页:
image.png
查看源代码:

image.png
直接输入script代码,即可弹出,存在XSS漏洞。
image.png

代码审计
Theme Jasmine by Kent Liao 京ICP备2023023335号-2京公网安备11010802044340号