您的位置:首页 > 运维架构 > Nginx

nginx_lua_waf 部署、测试记录

2017-07-07 16:06 441 查看

ngx_lua_waf

ngx_lua_waf是一个基于lua-nginx-module(openresty)的web应用防火墙

源码:https://github.com/loveshell/ngx_lua_waf

安装部署

系统版本:Centos6.5 x86_64

1、openresty的配置

yum -y install pcre pcre-devel
wget https://openresty.org/download/openresty-1.9.15.1.tar.gz tar -zxvf openresty-1.9.15.1.tar.gz
cd openresty-1.9.15.1
./configure
gmake && gmake install


2、配置ngx_lua_waf

git clone https://github.com/loveshell/ngx_lua_waf.git[/code] 
在nginx.conf的http段添加
  lua_package_path "/usr/local/openresty/nginx/conf/ngx_lua_waf/?.lua";
  lua_shared_dict limit 10m;
  init_by_lua_file /usr/local/openresty/nginx/conf/ngx_lua_waf/init.lua;
  access_by_lua_file /usr/local/openresty/nginx/conf/ngx_lua_waf/waf.lua;

配置config.lua里的waf规则目录(一般在ngx_lua_waf/wafconf/目录下)
  RulePath = "/usr/local/openresty/nginx/conf/ngx_lua_waf/wafconf"
  attacklog = "on"
  logdir = "/usr/local/nginx/logs/waf"


3、waf日志配置

#将nginx.conf首行的”# user nobody;”的”#”注释去掉,重新启动nginx服务
user nobody
#将防护日志目录所属user和group修改为nobody,目录权限可设为700也可以写入
cd /usr/local/nginx/conf
chown -R nobay.nobady waf //chmod 700 waf


Bypass WAF

1、GET+POST+COOKIE绕过

这种姿势是有限定条件的,目前只在ASPX环境测试成功

条件:使用Request.Params["id"]来获取参数, 三种方式可以进行参数传递:(1). Form (2). ?id= (3).cookie

获取到参数拼接起来,通过HPP可成功Bypass

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: