提问人:Code stroker 提问时间:12/11/2021 最后编辑:ShadowCode stroker 更新时间:12/11/2021 访问量:413
SQL注入中的密码不正确
Incorrect password in SQL injection
问:
我在用户名字段中发现了SQL注入,SQL查询为1'or'1'='1'-- - 我已经在图片中提供了这些 如果我在密码中键入相同的查询,它会显示不正确的密码,这是什么原因?
[SQL错误的图片]
答:
2赞
JNunez247
12/11/2021
#1
只是谷歌“防止SQL注入”
请记住,每个人
用户名可能来自注册页面。
该错误表示编码实践不佳。在我们开发生涯的某个时刻,我们都对此感到内疚。
您需要遍历网站上的所有查询,并将它们更改为使用参数,而不是连接。
坏 EX:
CommandString = "Select a from b where b.col = " & Variable
好EX:
Dim command As SqlCommand = new SqlCommand("Select a from b where b.col = @Variable", connection)
command.CommandType = CommandType.Text
command.Parameters.Add(new SqlParameter("@Variable", Variable))
此外,将其设为存储过程也是一个好主意。
此外,请确保站点使用的 SQL 用户具有受限权限(不能删除或截断表,并且只能访问该数据库)
评论