视频讲解
SQL注入可以干什么?无需输入密码也可以登录?今天我们给大家分享简单的两个技巧,一个是OR,一个是#,通过简单的闭合和注释来绕过登录验证!
图文讲解
我们这里以简单的一个登录框为例,这里如果是最原始的SQL语句写法
我们可以看到是通过验证用户名和密码是否同时为真,最终登陆成功的
SELECT * FROM users WHERE username='admin' AND password='password123'
![图片[1]-SQL注入有多酷?初学者来看看-小卒博客](https://www.zubaoya.com/wp-content/uploads/2023/01/20221009024112752-1024x532.png)
如何检测可能存在以上的注入点?我们可以在用户名后添加一个'
,查看是否存在SQL语法错误,如果存在,则可以使用下面的方式进行绕过登录!
![图片[2]-SQL注入有多酷?初学者来看看-小卒博客](https://www.zubaoya.com/wp-content/uploads/2023/01/20221009024311678-1024x579.png)
思路一:’OR 1=1
我们通过'OR 1=1
的方式,重新频接语句
我们知道在SQL语句中,语法优先级首先是AND,然后是OR
那可以这么看
username = ‘admin’ OR ‘1’ = ‘1’ AND password=’password123′
实际上的执行顺序是
( username = ‘admin’ AND password=’password123′ ) OR ‘1’=’1′
‘1’=’1’是永真的,OR 永真则这个语句永真,所以不管你用户名、密码咋输入,都能登录成功
![图片[3]-SQL注入有多酷?初学者来看看-小卒博客](https://www.zubaoya.com/wp-content/uploads/2023/01/20221009024454926-1024x567.png)
思路二:注释绕过
我们在用户名后面添加'--
,通过频接语句可以发现,SQL语句变成了
SELECT * FROM users WHERE username ='admin'-- 'AND password='password123'
–后面的内容成功被注释掉,因此,只要存在用户名为admin的则可以成功登录!
![图片[4]-SQL注入有多酷?初学者来看看-小卒博客](https://www.zubaoya.com/wp-content/uploads/2023/01/20221009024918548-1024x556.png)
是不是SQL注入基于报错的方法是否简单,而且非常酷呢?
挑战
您可以访问下面的网站尝试通过上述方法,看看能不能成功完成SQL注入呢?
https://demo.testfire.net/index.jsp
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容