防SQL注入完善登录

≡放荡痞女 提交于 2020-03-08 20:48:09

1、举上篇例子:我们的数据库语句是select count(1) from [dbo].[User] where UserId={user} and Pwd=’{pwd}’;当密码部分输入 ’ or 1=1–的时候,我们的{pwd}被 ’ or 1=1–取代,那么语句就变成select count(1) from [dbo].[User] where UserId={user} and Pwd=’’ or 1=1–’,将账号1001带入后则可以成功登录

在这里插入图片描述
2、我们判断的是查询结果大于1则登入成功,原sql通过账号密码匹配可以查询到1001账号的数据,但通过修改SQL语句也能查询到结果,1=1能查询到所有的数据,所以结果一定大于0,也就实现了不知道密码也能成功登录系统,这就是SQL注入
在这里插入图片描述
3、下面我们学习如何在程序中使用代码来防止SQL注入,通过SqlParameter参数化,将特殊符号转化为普通字符串即可
在这里插入图片描述
4、验证结果,密码输入’ or 1=1–登录失败
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!