mirror of
https://github.com/Safe3/uusec-waf.git
synced 2025-10-04 15:01:55 +08:00
### Feature Updates **Interface & Management** - Redesigned main program and management interface with improved aesthetics and usability, supports UI language switching (English/Chinese) - Added Rule Collections functionality: Create custom rule templates for batch configuration - Introduced whitelist rules that terminate further rule matching upon success - UUSEC WAF Rules API intelligent suggestions during advanced rule editing:ml-citation - New plugin management supporting hot-reloaded plugins to extend WAF capabilities **Protocol & Optimization** - Supports streaming responses for continuous data push (e.g., LLM stream outputs) - Enables Host header modification during proxying for upstream service access - Search engine validation: `waf.searchEngineValid(dns,ip,ua)` prevents high-frequency rules from affecting SEO indexing - Interception log report generation (HTML/PDF exports) - Automatic rotation of UUSEC WAF error/access logs to prevent performance issues **Security & Infrastructure** - Expanded free SSL certificate support: HTTP-01 & DNS-01 verification across 50+ domain providers - Customizable advanced WAF settings: HTTP2, GZIP, HTTP Caching, SSL protocols, etc - Cluster configuration: Manage UUSEC WAF nodes and ML servers via web UI
34 lines
No EOL
797 B
Lua
34 lines
No EOL
797 B
Lua
--[[
|
|
Rule name: Proxy header SQL injection
|
|
Filtering stage: Request phase
|
|
Threat level: High
|
|
Rule description: Filter single quote SQL injection in X-Forwarded-For, X-Real-IP and Client-IP request headers in HTTP requests
|
|
--]]
|
|
|
|
|
|
local rip=waf.reqHeaders.x_forwarded_for
|
|
if rip then
|
|
if type(rip) ~= "string" then
|
|
return true,"Malform X-Forwarded-For",true
|
|
elseif waf.contains(rip,"'") then
|
|
return true,rip,true
|
|
end
|
|
end
|
|
rip=waf.reqHeaders.client_ip
|
|
if rip then
|
|
if type(rip) ~= "string" then
|
|
return true,"Malform Client-IP",true
|
|
elseif waf.contains(rip,"'") then
|
|
return true,rip,true
|
|
end
|
|
end
|
|
rip=waf.reqHeaders.x_real_ip
|
|
if rip then
|
|
if type(rip) ~= "string" then
|
|
return true,"Malform X-Real-IP",true
|
|
elseif waf.contains(rip,"'") then
|
|
return true,rip,true
|
|
end
|
|
end
|
|
|
|
return false |