我正在使用 Modsecurity 3.0.9 和 Nginx 版本:nginx/1.23.4 我创建了执行 Lua (Lua5.3) 脚本的自定义规则,如下所示:
SecRuleScript "/path/to/lua/script.lua" "id:1,phase:3,deny"
/path/to/lua/script.lua内容: 本地标头 = m.getvars("REQUEST_HEADERS")
卷曲错误: curl: (52) 来自服务器的空回复
/var/log/nginx/error.log: 2023/05/06 22:24:47 [警报] 80626#80626:工作进程 80628 在信号 6 上退出(核心已转储) 在抛出“std::invalid_argument”的实例后调用终止 what(): 未找到变量。 2023/05/06 22:44:32 [警报] 80626#80626:工作进程 80627 在信号 6 上退出(核心已转储)
REQUEST_HEADERS 无法识别的原因可能是什么?
谢谢!
尝试更改阶段但没有成功 - 阶段 1、阶段 2 和阶段 3.
虽然检索所有 REQUEST_HEADERS 不起作用,但指定某些标头有效,例如: local user_agent= m.getvars("REQUEST_HEADERS:User-Agent")