【发布时间】:2022-01-15 10:15:56
【问题描述】:
我在 SQL 查询 1'or'1'='1' 的用户名字段中发现了一个 SQL 注入 -- - 我已经在图片中提供了那些 如果我在密码中输入相同的查询,它会显示错误的密码,这是什么原因?
[SQL 错误图片]
【问题讨论】:
-
您使用的是 MySQL 还是 SQL Server?它们是完全不同的产品。由于您使用的是 SqlClient,因此您的错误提示 SQL Server,但是在使用 MySQL 后端时,很多时候会错误地使用它。请编辑您的标签以反映您实际使用的内容。
-
如果您正确地参数化您的查询,这将不是问题。您收到此错误的事实表明您查询数据库的方式存在重大问题。停止将字符串组合在一起并执行它们。阅读、理解并开始使用参数化查询。
-
如果您存储纯文本密码,我也不会感到惊讶;任何应用程序中的另一个致命缺陷。
-
“在密码中输入相同的查询”是什么意思?请出示您的代码
标签: sql asp.net sql-server sql-injection