SQL注入基本语句解析

             select * from user where username=damin and password=123456

以上代码就是运用sql语句来进行最简单且没有做任何预防的登录判定,使用sql注入语句可以跳过这层防护直接进入系统

  • ’123’ or 1=1#

                                     ***模拟登录页面输入框***
    
用户名123’ or 1=1 #
密码123’ or 1=1 #

这时我们的sql语句变成

```select * from user where username='123' or 1=1# and password=123' or 1=1#

由于判断语句 or 1=1 结果返回真,成功登录,而 # 号是sql语句中的注释通过#号来屏蔽后面的判断语句来进行注入攻击

我们再尝试不使用 # 屏蔽单引号,采用手动闭合的方式

  • ‘123’ or 1=1

                                     ***模拟登录页面输入框***
    
用户名‘123’ or 1=1
密码‘123’ or 1=1

这时我们的sql语句变成

```select * from user where username='123' or 1=1  and password='123' or 1=1

由于判断语句 or 1=1 结果返回真,成功登录,两个 or 语句使 and 前后两个判断永远恒等于真,所以能够成功登录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值