SQL注入有多酷?初学者来看看

视频讲解

SQL注入可以干什么?无需输入密码也可以登录?今天我们给大家分享简单的两个技巧,一个是OR,一个是#,通过简单的闭合和注释来绕过登录验证!

图文讲解

我们这里以简单的一个登录框为例,这里如果是最原始的SQL语句写法

我们可以看到是通过验证用户名和密码是否同时为真,最终登陆成功的

SELECT * FROM users WHERE username='admin' AND password='password123'
图片[1]-SQL注入有多酷?初学者来看看-小卒博客

如何检测可能存在以上的注入点?我们可以在用户名后添加一个',查看是否存在SQL语法错误,如果存在,则可以使用下面的方式进行绕过登录!

图片[2]-SQL注入有多酷?初学者来看看-小卒博客

思路一:’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注入有多酷?初学者来看看-小卒博客

思路二:注释绕过

我们在用户名后面添加'--,通过频接语句可以发现,SQL语句变成了

SELECT * FROM users WHERE username ='admin'-- 'AND password='password123'

–后面的内容成功被注释掉,因此,只要存在用户名为admin的则可以成功登录!

图片[4]-SQL注入有多酷?初学者来看看-小卒博客

是不是SQL注入基于报错的方法是否简单,而且非常酷呢?

挑战

您可以访问下面的网站尝试通过上述方法,看看能不能成功完成SQL注入呢?

https://demo.testfire.net/index.jsp
© 版权声明
THE END
喜欢就支持一下吧
点赞99 分享
评论 共1条

请登录后发表评论