4

ARGS , ARGS_NAMES 在 mod_security 核心规则集中实际上是什么意思?

我已经参考了Modsecurity2 Apache Reference,但我没有得到任何明确的想法。

有人可以给我一个具体的想法,最好是解释一下,它实际上是什么以及某些东西实际上如何触发一个积极的规则,如下所示。

对于“x 和 6”等情况,以下规则触发为正,通常是任何“和”后跟一个数字。在这种情况下,我了解请求文件名是什么。我不明白什么是 ARGS 和 ARGS_NAMES。我需要一个参考以下规则的具体示例。

SecRule REQUEST_FILENAME|ARGS_NAMES|ARGS|XML:/* "(?i)\b(?i:and)\b\s+(\d{1,10}|'[^=]{1,10}')\s*[=]|\b(?i:and)\b\s+(\d{1,10}|'[^=]{1,10}')\s*[<>]|\band\b ?(?:\d{1,10}|[\'\"][^=]{1,10}[\'\"]) ?[=<>]+|\b(?i:and)\b\s+(\d{1,10}|'[^=]{1,10}')" \
    "phase:2,rev:'2.2.5',capture,t:none,t:urlDecodeUni,ctl:auditLogParts=+E,block,msg:'SQL Injection Attack',id:'959072',tag:'WEB_ATTACK/SQL_INJECTION',tag:'WASCTC/WASC-19',tag:'OWASP_TOP_10/A1',tag:'OWASP_AppSensor/CIE1',tag:'PCI/6.5.2',logdata:'%{TX.0}',severity:'2',setvar:'tx.msg=%{rule.msg}',setvar:tx.sql_injection_score=+%{tx.critical_anomaly_score},setvar:tx.anomaly_score=+%{tx.critical_anomaly_score},setvar:tx.%{rule.id}-WEB_ATTACK/SQL_INJECTION-%{matched_var_name}=%{tx.0}"
4

1 回答 1

5

例子:

http://server.invalid/test.php?pretty_arg=test123&ugly_arg=345test

ARGS_NAMES = "pretty_arg","ugly_arg"
ARGS = "pretty_arg:test123","ugly_arg:345test"    

看这里:

如果要从特定调用中删除参数,可以使用

SecRule REQUEST_FILENAME "@streq /path/to/file.php" "phase:1,id:2001,t:none,nolog,pass,ctl:ruleRemoveTargetById=959072;ARGS:ugly_arg"
于 2013-06-18T12:37:15.817 回答