首页 武冈文学 我是如何做到防范SQL数据库注入攻击

我是如何做到防范SQL数据库注入攻击

黄高远 2008-05-29 10:08 5

前几天网站遭到SQL数据库注入攻击,我对抗了两个通宵,终于找到一个办法解决了。现在过去四天,网站正常,终于可以松一口气了。

(希望那些黑客看到这里,拜托拜托,我只是想把自己的这个武冈人网搞好,并不表示什么其他的意思,网站程序是我自己乱写的,我并不是专业的开发人员,你们也就手下留情,不要再来找我漏洞攻击了。谢谢。)

那几天为了防范SQL数据库注入攻击,整天就呆在电脑前,常常欲哭无泪,因为才弄好又被攻击。后来把这个过程写了一篇文章,发到网上,每天都有很多人加我QQ,要我帮忙解决他们网站这个同样的问题,这也让我很汗颜。被别人称为高手,而实际上我对这些并不懂的。

我只是一个自学了一点ASPNET技术的爱好者,并非专业的开发人员,我写的程序也是漏洞百出的。对服务器管理,以及攻击,防范这些都没有接触,举个例子来说,人家往往问我,什么端口、协议之类的术语,我其实都不懂。

我解决武冈人网的攻击问题,也是自己乱摸索出来的,同时也非常感谢有个网友提供了一段加在global里面的防注入代码。下面我把我自己解决的过程详细介绍一下。

1、在第二天,很多次恢复数据又被攻击之后,我把数据库用户的权限,修改成db_datareader,修改成这个,数据库只能读出来,不能写进去。之后我等了两个小时,发现网站正常,说明服务器应该没有问题吧,就是网站程序有问题。注意,如果修改成这个权限,网站一样被攻击,说明服务器肯定中毒或有木马等问题,最好重装。

2、尽管服务器好像没有问题,我还是去装了一个杀毒软件(之前没有装,只有防火墙),把一些补丁给升级打上。

3、把一段防注入的代码,加在Global的文件中。代码是在网上找的。

4、我把所有的后台修改了一下。之前有设成ValidateRequest="false"的,给删除掉了。因为我之前写的时候,图自己排版方便,可以在后台直接输入HTML代码。现在碰到这个问题,只好先删除不用,另想办法。

5、这样弄完之后,我再把数据库权限,增加一个db_datawrite的权限,可以写进去了,再把所有的存储过程的权限,一一勾上。这样网站就正常使用了。

其实我就是这样解决的。我自己总结一下,大家都说网站代码有问题,对于一个初学和不成熟的程序员来说,当然很多地方都是直接使用SQL查询语句的,我的代码虽然很多都是使用了参数,但仍然有一些UPDATE语句,直接用上了SQL查询语句,当然,经过这次教训之后,以后再也不敢偷懒了。所以网站代码写的时候,还是多费一些时间,写好一点。

另外就是数据库权限,我建议最好不要使用什么SA之类的用户,也不要把用户设成db_owner这样的权限。

呵呵,我就是这样子做了,到现在网站还是正常的。

阅读 5338
分享到:
评论列表

长发飘飘

很佩服你对电脑的精通,自己自学,能达到这种水平,真不容易.我们都感谢你,站长,你辛苦了.

515年前

雄陀刀具

这些高科技真的搞不懂,不过真是太感谢高远兄,,武冈人网站我是每天必看!上面可以了解很多关于家乡及各位老乡的一些信息,很有用处.
老大,辛苦了!

315年前

闯飘

嘿嘿!辛苦辛苦!叫你夫人慰劳一下筋骨吧!

415年前

姚遥

看不懂站长那些专业的操作,但是可以明白你花了不少的心血与才智,辛苦了,赞一个!希望以后武冈人网别遇上这样的麻烦,就象你说的,黑客们能手下留情!

315年前

碧海蓝天

高远兄:辛苦了!

315年前

发表评论

已输入0/200 个字!