数据库遭到攻击

外网服务器 上数据库 遭到攻击

数据库库的数据被修改,,,修改的是在表的每个字段内容后面加上一段代码,代码是什么什么贷款的链接,还是一个全英文的网站。

一次次的将我们数据改了,,改回来,要被改了,郁闷死了,,

一开始给机器换了一个密码,,还是木用,

数据库用的是sa用户,想要改sa的密码,上面说暂时不让该。。

数据就这样一次次被改。。

 是用什么方式攻击我们,,脚本注入还是连上我们的数据库?

从被修改的字段和表的内容来看,,很有可能是脚本注入,,注入的字段是在后台程序中添加修改的内容。

还在数据库里新建了两个表,表都是在凌晨创建的,呜呜。。。,表字段中值是没有任何意义混乱的字符。


彻底杜绝SQL注入 
 
1.不要使用sa用户连接数据库 
2、新建一个 public 权限数据库用户,并用这个用户访问数据库 
3、[角色]去掉角色 public 对sysobjects与syscolumns对象的 select 访问权限 
4、[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×” 
5、通过以下代码检测(失败表示权限正确,如能显示出来则表明权限太高): 
DECLARE    @T    varchar (255), 
@C    varchar (255) 
DECLARE    Table_Cursor    CURSOR    FOR 
Select    a. name ,b. name    from    sysobjects   a,syscolumns   b 
where    a.id=b.id    and    a.xtype=  'u '    and    (b.xtype=99    or    b.xtype=35    or    b.xtype=231    or    b.xtype=167)   
OPEN    Table_Cursor 
FETCH    NEXT    FROM    Table_Cursor    INTO    @T,@C 
WHILE(@@FETCH_STATUS=0) 
BEGIN    print   @c 
FETCH    NEXT    FROM    Table_Cursor    INTO    @T,@C   
END 
CLOSE    Table_Cursor 
DEALLOCATE    Table_Cursor  



1  还有 前台提交表单的时候 对非法字符进行过滤 。。。 参数用SqlParameter 过滤字符

2:那如果我们的sql数据库被批量注入代码要如何来清除呢?如果挨个的表去删除,那估计会把你累吐啊!这里可以分享一下批量清除sql数据库被注入的代码的方法:如果是sql server数据库,可以远程链接到数据库,使用查询分析器运行“update 数据库表 set 表的键值=replace(cast(表的键值 as varchar(8000)),'被注入的代码',' ')”这段代码就可以了,但是也要挨个表的去清除!select replace('love1 is love1,it come from heart','love1',' love2')

   太长的字符 替换难匹配

 

3:过滤特殊输入字符,搜索框禁止用户输入特殊字符, 改变数据库服务器还是被攻击。

4 http请求过滤参数







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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值