sql注入二 解决办法

首先,既然网站被注入了,就得赶快恢复网站的正常运行啊!被SQL注入后就要查找所有网页,查看网页头部和底部是否有<iframe src='http/XXXXXX/XXX.XX' width=0 height=0></iframe><script>%2%34%w%24%sr234%234</script>等,如果有这样的来历不明的代码,一句话删,当然这对于网页数目不是很多的情况下较好,如果数目过多,那么可以借助一些工具,进行修改删除。如果是数据库内容被修改了,那问题就比较大了,赶快还原数据库吧,如果没有备份数据库,那可就惨了。。。。

 

其次,从编程上来说,防止sql注入的方法有避免法,主动攻击方法等。通过上一篇我们对sql注入的了解,明白了sql注入的方式,那么这就好办了,所谓解铃还须系铃人,看看我们怎么办。。。First,在网站前台,对于有request的网页,对request的内容要进行判断,如是否为整形数据,是否为字符,是否在一定得长度内等,也就是采取“主动攻击”,在攻击者要攻击前就对其的非法请求进行屏蔽。Second,在网站后台,对用户输入的数据进行过滤检查,即检查用户输入的数据是否含有非法字符,如’ @ = and or ! < >等,这里可以通过替换(为空格等)或删除等策略,避免在执行sql是出现错误,导致系统运行异常,而暴露关键信息。Third,对于登陆界面的设计更要注意,尽量对密码加密,同样对用户输入的内容进行过滤等。

 

具体的代码这里不再多说了,对于如何过滤特殊字符的方法网上有很多(有点困了,有点懒了。。。)。。。。其实像这样的东西,自己能写个是最好的,以后再用的时候直接用,这就是自己的资源,自己的经验,提高编程效率的重要手段。。。

 

 

再次,从用户权限上来说,对于网站的文件的访问权限合理设置,怎么才算是合理设置呢。把everyone权限设置为只读,对于指定的用户除了对特殊文件的操作外,对于其他的文件的权限也设置为只读。再有就是在配置文件中尽量不要用sa用户,更不能用sa作为密码,可以为其单独建立一个用户并授予其相应的权限。

 

以上记录了个人的一点历程,说的不是很清楚,也不是很全面,见谅。。。O(_)O~

 

 

参考:http://www.secnumen.com/technology/anquanwenzhai.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章