diff --git a/plugins/op_waf/class/luamaker.py b/plugins/op_waf/class/luamaker.py index bb9a6bad9..fa0735aa4 100644 --- a/plugins/op_waf/class/luamaker.py +++ b/plugins/op_waf/class/luamaker.py @@ -41,13 +41,18 @@ class luamaker: if type(v) not in [int, float, bool, list, dict, tuple]: v = v.encode() if isinstance(v, str): + # print("lua", var) + v = v.replace("\\", "\\\\") + v = v.replace("\"", "\\\"") var = "\"" + v + "\"" + elif isinstance(v, bool): var = v and "true" or "false" elif isinstance(v, int) or isinstance(v, float): var = str(v) else: var = analysisTable(v, thisIndent, _parent + key) + cell.append(thisIndent + key + " = " + str(var)) lineJoin = ",\n" return "{\n" + lineJoin.join(cell) + "\n" + _indent + "}" diff --git a/plugins/op_waf/waf/lua/init.lua b/plugins/op_waf/waf/lua/init.lua index 6acb2b727..e99c1c7c1 100644 --- a/plugins/op_waf/waf/lua/init.lua +++ b/plugins/op_waf/waf/lua/init.lua @@ -20,14 +20,17 @@ local get_html = C:read_file_body(config["reqfile_path"] .. '/' .. config["get"] local post_html = C:read_file_body(config["reqfile_path"] .. '/' .. config["post"]["reqfile"]) local user_agent_html = C:read_file_body(config["reqfile_path"] .. '/' .. config["user-agent"]["reqfile"]) local cc_safe_js_html = C:read_file_body(config["reqfile_path"] .. '/' .. config["safe_verify"]["reqfile"]) -local args_rules = C:read_file_table('args') -local ip_white_rules = C:read_file('ip_white') -local ip_black_rules = C:read_file('ip_black') -local ipv6_black_rules = C:read_file('ipv6_black') -local scan_black_rules = C:read_file('scan_black') -local user_agent_rules = C:read_file('user_agent') -local post_rules = C:read_file('post') -local cookie_rules = C:read_file('cookie') + +local args_rules = require "args" +local ip_white_rules = require "ip_white" +local ip_black_rules = require "ip_black" +local ipv6_black_rules = require "ipv6_black" +local scan_black_rules = require "scan_black" +local user_agent_rules = require "user_agent" +-- local post_rules = C:read_file_table('post') +local post_rules = require "post" +-- local cookie_rules = C:read_file_table('cookie') +local cookie_rules = require "cookie" local server_name = string.gsub(C:get_server_name(),'_','.')