ce安全网绿色资源分享

教程资讯|常用软件|安卓下载|下载排行|最近更新

软件
软件
文章
当前位置:首页网络安全网络安全文章 → Nginx Lua WAF 通用绕过方法

Nginx Lua WAF 通用绕过方法

时间:2018-06-13 07:00:23人气:作者:本站作者我要评论

Nginx Lua WAF 通用绕过方法

1.前言

Nginx Lua获取参数时,默认获取前100个参数值,其余的将被丢弃。

所以,用了Nginx Lua的WAF默认都会被Bypass。

2. 原理

Note that a maximum of 100 request arguments are parsed by default (including those with the same name) and that additional request arguments are silently discarded to guard against potential denial of service attacks.
默认情况下最多可解析100个请求参数(包括具有相同名称的请求参数),并且会自动丢弃其他请求参数以防止潜在的拒绝服务攻击。

搜索100 ,大致有下面的方法存在同样的问题。

ngx.req.get_uri_args 获取get的请求参数
ngx.req.get_post_args 获取post的请求参数
ngx.req.get_headers 获取request头
ngx.decode_args 对参数进行URL解码
ngx.resp.get_headers 获取response头
在lua-nginx-module源码里,我们可以看到源代码设置了默认的最多请求参数和头都为100

  1. #ifndef NGX_HTTP_LUA_MAX_ARGS
  2. #define NGX_HTTP_LUA_MAX_ARGS 100
  3. #endif
  4. #ifndef NGX_HTTP_LUA_MAX_HEADERS
  5. #define NGX_HTTP_LUA_MAX_HEADERS 100
  6. #endif

不过官方提供了方法,可修改该默认值,比如ngx.req.get_uri_args(200)就能获取前200个请求参数。

3. 测试

  1. location = /test {
  2.     content_by_lua_block {
  3.         local args = ngx.req.get_uri_args()
  4.         for key, val in pairs(args) do
  5.             if type(val) == "table" then
  6.                 ngx.say(key, ": ", table.concat(val, ", "))
  7.             else
  8.                 ngx.say(key, ": ", val)
  9.                 if val ==  'joychou' then
  10.                     ngx.say("I got u,joychou")
  11.                     return
  12.                 end
  13.             end
  14.         end
  15.     }
  16. }

当请求参数为101个时,此时获取不到最后一个请求参数。

  1. curl -v 'http://test.cesafe.com/test?a1=1&a2=2&a3=3&a4=4&a5=5&a6=6&a7=7&a8=8&a9=9&a10=10&a11=11&a12=12&a13=13&a14=14&a15=15&a16=16&a17=17&a18=18&a19=19&a20=20&a21=21&a22=22&a23=23&a24=24&a25=25&a26=26&a27=27&a28=28&a29=29&a30=30&a31=31&a32=32&a33=33&a34=34&a35=35&a36=36&a37=37&a38=38&a39=39&a40=40&a41=41&a42=42&a43=43&a44=44&a45=45&a46=46&a47=47&a48=48&a49=49&a50=50&a51=51&a52=52&a53=53&a54=54&a55=55&a56=56&a57=57&a58=58&a59=59&a60=60&a61=61&a62=62&a63=63&a64=64&a65=65&a66=66&a67=67&a68=68&a69=69&a70=70&a71=71&a72=72&a73=73&a74=74&a75=75&a76=76&a77=77&a78=78&a79=79&a80=80&a81=81&a82=82&a83=83&a84=84&a85=85&a86=86&a87=87&a88=88&a89=89&a90=90&a91=91&a92=92&a93=93&a94=94&a95=95&a96=96&a97=97&a98=98&a99=99&a100=100&a=joychou'

减少一个请求参数,当请求参数刚好为100个时,能获取到最后一个请求参数。

  1. a77: 77
  2. a9: 9
  3. a43: 43
  4. a24: 24
  5. a52: 52
  6. a61: 61
  7. a35: 35
  8. a70: 70
  9. a78: 78
  10. a42: 42
  11. a53: 53
  12. a49: 49
  13. a87: 87
  14. a60: 60
  15. a58: 58
  16. a96: 96
  17. a14: 14
  18. a27: 27
  19. a15: 15
  20. a85: 85
  21. a36: 36
  22. a26: 26
  23. a41: 41
  24. a94: 94
  25. a37: 37
  26. a50: 50
  27. a63: 63
  28. a48: 48
  29. a72: 72
  30. a12: 12
  31. a29: 29
  32. a59: 59
  33. a38: 38
  34. a62: 62
  35. a: joychou
  36. I got u, joychou

相关文章

猜你喜欢

  • Ougishi绿色版下载 V4.00 中文版

    2020-06-19 / 561k

  • 谷歌地图下载助手睿智版破解下载 V9.5绿色版

    2020-06-19 / 32.7M

  • OfficeFIX中文破解版V6.110 注册版

    2020-06-19 / 26.8M

  • Plotagraph破解版V1.2.0 免费版 32/64位

    2020-06-19 / 31.5M

  • IP查详细地址工具下载 V1.1 官方免费版

    2020-06-19 / 408K

  • 内存扫把中文版下载V1.97绿色版

    2020-06-19 / 1.3M

网友评论

验证码:

请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

最新评论

已有人参与,点击查看更多精彩评论

关于CE安全网 | 联系方式 | 发展历程 | 版权声明 | 下载帮助(?) | 广告联系 | 网站地图 | 友情链接

Copyright 2019-2029 cesafe.com 【CE安全网】 版权所有 蜀ICP备19039426号-2| 蜀ICP备19039426号-2

声明: 本站为非赢利性网站 不接受任何赞助和广告 所有软件和文章来自互联网 如有异议 请与本站联系 技术支持:ce安全网