前两天听一同学讲他们公司做的一个系统被人家 SQL 注入了, 使得数据库中很多数据全部都乱了,导致系统几近瘫痪, 于是在网上疯狂的搜索解决方案,皇天不负苦心人,最终终于在 http://www.21004.com/post/77.html 找到了解决方案,全文如下:
近段时间很多站长反映" <script src=http://3b3.org/c.js> </script> " SQL注入非常猖獗,很多站都被注入这个代码,到目前为止被这个恶意代码威胁的网页至少有203,000页面,其中不少还是行业内知名网站。很多站长对这个注入的方式认识非常少,一旦被注入以后总是治标不治本。笔者结合一些网友经验和做安全朋友解决方法,归纳总结出一个可行性方法,大概步骤如下:
一、进入SQL统一删除字段被挂的js 。
操作方式如下:dbo.数据表 SET 字段= REPLACE(字段, '<script src=http://3b3.org/c.js></script>', '')
二、修改SQL服务中自定义用户和sa的密码。
一般情况下,SQL数据库被入侵成功的情况下,自定义帐户和SA的密码已经暴露,修改这些帐户密码为第三步做准备。
三、彻底杜绝SQL注入。
1.不要使用sa用户连接数据库。
SA帐户拥有所有数据库和数据表的操作权限,在网页中使用SA连接数据库安全隐患非常大。
2、新建一个public权限数据库用户,并用这个用户访问数据库。
为了增加安全系数,建议每个数据库建立独立的只有public权限管理帐户,并用这个用户访问数据库有利于SQL的安全性。
3、[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限
4、[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×”
第3、4步大家不需要考究其中的原理,大家只需要照做就行了。