ngx_lua_waf/waf.lua

33 lines
1.7 KiB
Lua
Raw Normal View History

2013-03-26 10:30:05 +00:00
if ngx.re.match(ngx.var.request_uri,whitelist,"isjo") then
2013-03-23 10:14:21 +00:00
return
else
2013-03-27 02:42:32 +00:00
if ngx.re.match(ngx.unescape_uri(ngx.var.request_uri),regex.."|"..get,"isjo") then
2013-03-23 10:14:21 +00:00
log('GET',ngx.unescape_uri(ngx.var.request_uri))
check()
2013-03-27 02:46:32 +00:00
-- elseif ngx.re.match(string.gsub(ngx.var.request_uri,"\\%",""),regex.."|"..get,"isjo") then
-- log('GET',ngx.var.request_uri)
-- check()
2013-03-28 10:17:36 +00:00
elseif ngx.re.match(ngx.var.request_uri,[[%00|%0b|%0d|%c0%ae|%0a]],"isjo") then
check()
2013-04-12 03:46:31 +00:00
elseif ngx.var.http_user_agent and ngx.re.match(ngx.var.http_user_agent,regex.."|"..agent,"isjo") then
log('USER-AGENT',ngx.unescape_uri(ngx.var.request_uri))
check()
2013-04-16 17:12:46 +00:00
elseif ngx.req.get_body_data() and ngx.re.match(ngx.req.get_body_data(),[[Content-Disposition: form-data;(.*)filename=]],"isjo") ==nil and ngx.re.match(ngx.unescape_uri(ngx.req.get_body_data()),regex.."|"..post,"isjo") then
2013-03-23 10:14:21 +00:00
log('POST',ngx.unescape_uri(ngx.var.request_uri),ngx.unescape_uri(ngx.req.get_body_data()))
2013-04-16 17:12:46 +00:00
check()
elseif string.len(filext) >0 then
if ngx.req.get_body_data() and ngx.re.match(ngx.req.get_body_data(),"Content-Disposition: form-data;(.*)filename=\"(.*)."..filext.."\"","isjo") then
check()
end
2013-03-23 10:14:21 +00:00
-- elseif ngx.req.get_headers()["Cookie"] and ngx.re.match(ngx.unescape_uri(ngx.req.get_headers()["Cookie"]),regex,"isjo")then
-- log('COOKIE',ngx.unescape_uri(ngx.var.request_uri),ngx.unescape_uri(ngx.req.get_headers()["Cookie"]))
-- check()
elseif ngx.req.get_headers()['Acunetix-Aspect'] then
ngx.exit(400)
2013-03-23 17:12:47 +00:00
elseif ngx.req.get_headers()['X-Scan-Memo'] then
ngx.exit(400)
2013-03-23 10:14:21 +00:00
else
return
end
end