• 欢迎光临~

初始SQL万能语句 ' or 1=1#

开发技术 开发技术 2022-11-27 次浏览

使用SQL注入前

在日常界面用户登录过程中通常是这样的
输入用户名“username”
输入密码“password”

SQL注入语句编写如下
$sql=select * form user where username='username' and password='password'

当我们输入相应正确的用户名和密码时,就可以登陆进去,错误的,时无法登陆的。但是这个验证机制可以通过SQL语句来构造一个特殊的”字符串“通过验证。
当我们在用户名处输入' or 1=1#,密码随便写,就可以登陆进入网站

使用SQL注入后

将' or=1=1#代入语句
$sql=select * form user where username=' 'or 1=1# and password=' 'or 1=1#
在SQL语句中#是注释符,所以后面的语句都会被注释掉,那么上面的语句就等价于:
select * from user where username=' ' or1=1

在SQL语句中where相当于判断语句,并且是由 or 连接的,所以 username=’ ‘ 和 1=1 中有一个为真就为真。1=1一定为真,所以语句又等价于:

select * from user

也是buuwab第一题“easySQL”的题解

参考于 https://www.bilibili.com/read/cv18070288

程序员灯塔
转载请注明原文链接:初始SQL万能语句 ' or 1=1#
喜欢 (0)
违法和不良信息举报电话:022-22558618 举报邮箱:dljd@tidljd.com