使用字符串拼接的方式把sql语句所需参数拼接到将要执行的sql语句中(参数一般只sql语句的过滤条件),对于用户的恶意输入可能导致不一的查询结果
例如:一个登录的例子(UserName和Password是用户的输入的用户名和密码)。
“select count(*) from T_Users where UserName=’ ”+UserName+” ‘ and Password= ‘ ”+Password+” ‘ ”;
C#这段代码指C#将要 发送给数据库执行的代码。如果count(*)的结果大于等于1则表示用户的用户名和密码是存在并且匹配的。对于正常用户的输入这个中方法是可行的,但是如果用户的密码输入:a‘ or ‘a‘=‘a 那么无论用户的用户名和密码是否存在是否匹配他都会登录成功。这就是sql注入漏洞。
原文地址:https://www.cnblogs.com/lolitagis02/p/8137593.html
时间: 2024-10-17 03:16:22