什么是sql注入?sql注入有哪些方式?防止sql注入又有哪些方式(.Net下)

来源:百度知道 编辑:UC知道 时间:2024/06/17 20:24:04
下面的方法是通过过滤掉特殊的字符
那百度的搜索框对这些特殊的字符又是怎样的处理,

所谓SQL注入,其实是程序漏洞,没有什么技术,比如下面的语句就可能被注入
SQL="SELECT * FROM ADMIN WHERE USER='" &REQUEST("USER")& "' AND PASS ='" &REQUEST("PASS")& "'"

别人可以精心设计一个PASS参数提交给你,使得你的SQL完成其它功能,例如PASS的值为:
abc' OR USER='admin

这时候SQL语句是什么样子,你看看:
SELECT * FROM ADMIN WHERE USER='admin' AND PASS='abc' OR USER='admin'

任何密码都可以成功登录。

解决的方法:程序应该判断USER和PASS这些参数里面是否有引号等特殊符号。

上面是一个简单的例子,通过提交精心设计的参数,还可以修改你的数据库。

SQL 语句注入,防止的话:用存储过程或自己编写代码检测

sql注入是一种网络病毒,详细在百渡搜索

sql注入
可以理解为一种编程漏洞,
例如你做了一个登陆界面,后台有一个USER表,
你写了如下SQL语句,
SELECT USERNAME,PASS FROM USER WHERE USERNAME = '"+inputUser+"' AND PASS='"+inputPass+"'

其中,inputUser和inputPass是从你的界面取值,这样只能让不了解这个系统的用户按规则,添正确的值,
如:inputUser = 张三
inputPass=123

如果有人知道你要杳的是什么表,
inputPass的值如下,
inputPass= 123'; DELET