【问题标题】:Using Regular Expression in updating an argument in Mod Security Core Ruleset OWASP使用正则表达式更新 Mod 安全核心规则集 OWASP 中的参数
【发布时间】:2015-08-25 05:36:50
【问题描述】:

我刚刚遇到了规则981173 的问题 [msg "Restricted SQL Character Anomaly Detection Alert - Total] 用于将一些 youtube ID 发送到数据库。有些 ID 有特殊字符,如 -,我猜这是引发警告的原因

我一直试图从规则中排除$_POSTvideo[391][],其中391 是产品ID,因此它不是修复键。可以是video[500][] 或类似名称。

我试过了

    SecRuleUpdateTargetById 981173 !ARGS:video[*][]

但它不起作用。关于如何从规则中排除此动态 $_POST 键的任何想法?

  Message: Access denied with code 403 (phase 2). 
  Pattern match "([\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\+\\=\\{\\}\\[\\]\\|\\:\\;\"\\'\\\xc2\xb4\\\xe2\x80\x99\\\xe2\x80\x98\\`\\<\\>].*?){4,}" 
at ARGS_NAMES:video[391][]. [file "/etc/httpd/crs-tecmint/owasp-modsecurity-crs/base_rules/modsecurity_crs_41_sql_injection_attacks.conf"] 
[line "159"] [id "981173"] [rev "2"] 
[msg "Restricted SQL Character Anomaly Detection Alert - Total # of special characters exceeded"] 
[data "Matched Data: ] found within ARGS_NAMES:video[391][]: video[391][]"] [ver "OWASP_CRS/2.2.9"] [maturity "9"] 
[accuracy "8"] [tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"]

【问题讨论】:

  • 我几乎是对的。有 ARGS 而不是 ARGS_NAMES ,您可以从错误中看到 ARG_NAMES 是它正在标记的内容。现在已更正,我在 ModSecurity v2.9 上对此进行了测试。

标签: apache owasp mod-security mod-security2


【解决方案1】:

我认为应该是:

SecRuleUpdateTargetById 981173 "!ARGS_NAMES:/^video\[.*\]\[\]/"

或者如果只有数字 id 那么这个:

SecRuleUpdateTargetById 981173 "!ARGS_NAMES:/^video\[[0-9]*\]\[\]/"

在此处查看正则表达式示例:https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#SecRuleUpdateTargetById

【讨论】:

  • 谢谢。我有一个特殊情况,名称是video[s3][product_id][] 第一个示例"!ARGS_NAMES:/^video\[.*\]\[\]/" 是否也涵盖了这一点?我已经尝试过了,它似乎也适用于此,但我想确保它。
  • 是的,但更多的是靠运气,这不是我的意图,因为我假设你有两个方括号,第二个(也是最后一个)是空的。在这个较新的示例中,您可以使用三个方括号。但实际上这可以作为 .* 匹配到 "s3][product_id" 然后其余的匹配。但正如我所说的运气而不是设计!
  • 你可以选择更通用的:SecRuleUpdateTargetById 981173 "!ARGS_NAMES:/^video[.*]$/" 它将批处理任何以 "video[" 和以 "]" 结尾的请求跨度>
  • 嗯,最后一条评论删除了方括号中的转义符。确保在 [ 和 ] 字符之前放置一个 \,因为这些字符在正则表达式中具有特殊含义。
猜你喜欢
  • 1970-01-01
  • 2014-07-11
  • 2021-05-03
  • 1970-01-01
  • 1970-01-01
  • 2020-06-19
  • 1970-01-01
  • 2011-02-20
  • 2020-07-07
相关资源
最近更新 更多