本文《渗透测试中的Bypass技巧(III)之自动化Bypass注入》由一叶知安团队原创投稿安全脉搏,作者:倾旋,安全脉搏首发表本文,如需要转载,请先联系安全脉搏授权;未经授权请勿转载。 0x00 匹配资源大小限制 某些Web服务器具有不同的特征,这会导致WAF在判断时无法完全运行。最常见的情况是协议层和Web服务器之间的WAF不能很好地处理请求,这使得无法拦截许多不熟悉的攻击。让我们先从GET和POST开始。 Get方法提交的数据大小没有限制。 HTTP协议规范不限制URL的长度。此限制是特定浏览器和服务器的限制。可以看出,WAF可以在处理GET请求时匹配客户端(浏览器)指定的长度,这导致缺陷。我们可以将有效数据置于此限制的零限制,并将攻击语句置于零边界之后,以便WAF认为这是正常请求,然后释放它,从而实现攻击效果。 从理论上讲,POST的大小不受限制。 HTTP协议规范也没有大小限制。限制是服务器处理程序的处理能力。 例如,当使用PHP进行POST提交时,文件大小受PHP配置文件PHP.INI的限制。我们可以修改PHP.INI文件中的post_max_size参数,默认的2M字节可以修改为自己所需的大小,但由于HTTP协议。这个特性,这个值不应该设置得太大,最大值是8M。 假设如果服务器端设置为8M,并且WAF默认仅匹配2M,则可以看出服务器端接收的数据的大小> WAF匹配的最大数据大小。 然后,我们可以根据上述方法绕过WAF拦截。
0x01 绕过某WAF上传 https://www.com/archives/56523.html 在上一章中,我们已经使用了旁路上传,最重要的一个是在Bypass中注入的〜 0x02 绕过某WAF注入 从对等方接收数据时失败 从对等方接收数据时失败 有效载荷=payload.replace( 'SELECT',bypass_SafeDog_str + 'SELECT' + bypass_SafeDog_str) 有效载荷=payload.replace( 'AND',bypass_SafeDog_str + '和' + bypass_SafeDog_str) 有效载荷=payload.replace( '=',bypass_SafeDog_str + '=' + bypass_SafeDog_str) Payload=payload.replace(''byby_SafeDog_str) 有效载荷=payload.replace( 'INFORMATION_SCHEMA。','%20%20/*!%20%20%20%20INFOrMATION_SCHEMa%20%20%20%20 * /%20%20/* ^ x的^^ X ^ * /%20/*!.*/%20/*^x^^x^*/“) 有效载荷=payload.replace( '发件人',bypass_SafeDog_str + 'FROM' + bypass_SafeDog_str) 打印有效负载 返回有效负载 让我们测试一下我们不首先加载篡改脚本:
这基本上没什么好玩的,让我们来看看拦截日志。
现在加载篡改脚本:
可以看出它已被加载并且识别出waf指纹。 (源安全脉冲 用于干预测试的旁路提示(II)自动旁路注入https://www.com/archives/56688.html) 以下是运行脚本的过程
支持布尔注入
支持联合注射
测试完成后,我运行了一个密码,看看:
您可以看到完整的旁路,但需要注意的一点是,您应该根据网络条件调整请求速度,并控制每个请求之间的间隔,以防止触发CC保护。 等价替换 我们打开微信群后,大量读者加入,当天超过100人,所以微信二维码有效,你也可以加入微信:Guest_Killer_0nlis,cimoom829,Snake_90邀请进入。谢谢你的支持(PS:后面还有一个锁定自动化哦〜请注意安全脉冲和叶志安知道列) 注释