WEB开发网
开发学院数据库MSSQL Server SQL Injection(SQL注入)介绍及SQL Injection攻击... 阅读

SQL Injection(SQL注入)介绍及SQL Injection攻击检测工具

 2008-09-10 10:04:16 来源:WEB开发网   
核心提示: 凡是来自客户端的数据,必须校验——注意是校验,SQL Injection(SQL注入)介绍及SQL Injection攻击检测工具(4),不是过滤,基本上,一定要注意校验客户端提交的数据,当然,不管你多聪明多细心(哪怕像我一样,不许笑

凡是来自客户端的数据,必须校验——注意是校验,不是过滤。基本上,不管你多聪明多细心(哪怕像我一样,不许笑,不许笑,严肃点,严肃点,我们这儿讲SQL Injection呢) 也无法穷举可能被用于SQL Injection的符号和关键字,也无法预知替换掉他们是否会有副 作用,最好的办法是不去判断什么数据不符合条件,而改由判断什么数据符合条件,假设你的一个系统用户名只能是字母数字和下划线,那么你就可以用[0-9a-zA-Z_]+这个正则来匹配它,如果不符合条件,拒之即可,这比费尽心思去过滤单引号分号逗号空格什么的要明了和简洁的多。

当然如果你嫌存储过程麻烦,你也可以使用参数化SQL语句,至少在asp.net可以这么做,请见本人的一篇文章:《在ADO.NET中使用参数化SQL语句的大同小异》网址是:http://blog.csdn.net/zhoufoxcn/archive/2008/03/19/2195618.aspx,介绍在asp.net中使用参数化SQL语句应注意的事项。

春节前夕,数万个用PHPBB作为论坛的网站被攻陷,大家有印象吗?罪魁祸首只是一个单引 ,尽管PHP有magic_quotes_gpc,可还是被干掉了,原因是%2527在url_decode函数中会被解析为%27(因为%25就是百分号),%27正是引号,By the way,尽管博客中国的论坛也 是基于PHPBB的,但是那次我们幸免于难,因为在那之前我们被黑过一次了(汗),就是因为这个,哈哈! 其实,SQL Injection不是ASP编程领域特有的,Web开发最容易碰到,但Desktop Application也有,只要有数据库的地方,只要采用拼凑SQL语句的方式,就可能存在Injection的机会,大家牢记,如果有条件,尽量把数据DBMS职责范围的事情交给DBMS去做,如果没条件,一定要注意校验客户端提交的数据,当然,双管齐下也行,^_^

上一页  1 2 3 4 5  下一页

Tags:SQL Injection SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接