谈下防止注入教你asp网站从此不再有注入漏洞
一个网站被黑,通常都是因为有注入漏洞,别人获取到后台密码,然后再一步步提权而来的。还一部分是因为弱密码问题。注入是最基本的安全措施,每个程序员必须了解的。
我们这里说的是mssql数据库,Access用得很少了就不谈了。 数据类型无非就是两种,数值和非数值,所以如果参数是数字一定要用 isnumeric判断,如果是字符串一定要去掉单引号再说,或把单引号转换成其他符号或两个单引号。
这两点注意到后就能防止大多数的问题了,但还是有问题的,比如可以用函数转义可以将引号转码等。
为了安全起见我们一般要过滤一些关键字,很多程序的做法是直接过滤,只要一出现就终止。但那样会造成很多误过滤,虽然安全得要命,但完全不可取。最好的办法是出现2个关键字的给过滤掉,而且要判断字符的边界,界定符比如是字母的就忽略好了,那种一定是误判。
如果出现有非法关键字,不要选择替换为空那样可以重新构造,一定要替换成一个单词。
然后最就文本型字段了,尽量不要原文保存,转码后保存进去,这里可以用request,其他字段值获取一定要自己重写request
上一篇: 使用WMI重启计算机
下一篇: 更改文件夹所有者以显示ntfs权限
目前这篇文章有3条评论(Rss)