select * from admin where username='abc’or 1=1 and password='123’
3个回答
展开全部
这句的意思就是username=abc OR(或者)1=1,这里的 1=1永远为真,在加上后面的 password=123,联合起来就是只要有人的密码为123的就能直接登录 ,不验证用户名字
追问
pengbingge|一级
关键在于你用的是字符串拼接而不是用的带参数的。这样不管用户名和密码是否正确,1=1 永远成立,又因为前面有了 or 这样 判断永远为真,就算不知道你得用户名和密码,也能保证查询成功,也就能登录你得系统了。
你的回答和上面这个回答有点是矛盾的 --- 就算不知道你得用户名和密码,也能保证查询成功。
假如没有密码为 123 的用户,那你的来说就不能登录了对吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关键在于你用的是字符串拼接而不是用的带参数的。这样不管用户名和密码是否正确,1=1 永远成立,又因为前面有了 or 这样 判断永远为真,就算不知道你得用户名和密码,也能保证查询成功,也就能登录你得系统了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询