【问题标题】:Apache Mod Security-Core rule set issueApache Mod Security-Core 规则集问题
【发布时间】:2017-02-15 07:50:16
【问题描述】:

在我的应用程序中,我已经实现了 mod 安全性,并且由于它对于少数 URL 是通用的,因此我已经阻止了一些针对特定位置 (URL) 的规则。但我在以下 URL 出现 OWASP 错误,无法或无法找到阻止此 URL 规则的方法。

所以请帮我阻止以下问题的规则。错误日志如下所示。提前致谢。

POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 499
Host: accountingdev.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.4.1 (Java/1.8.0_72)
Cookie: FA512c3d57865ef2662e9b1421f5c4d8ad=3pr1b0illdbem2kq9f99kfrpn2
Accept-Encoding: gzip,deflate

--a42de647-C--
logoutRequest=%3Csamlp%3ALogoutRequest+xmlns%3Asamlp%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Aprotocol%22+ID%3D%22LR-24-AHmvxyBBAudEaobzuTMpXrdPtmmVhiUU1ed%22+Version%3D%222.0%22+IssueInstant%3D%222016-10-14T17%3A20%3A00Z%22%3E%3Csaml%3ANameID+xmlns%3Asaml%3D%22urn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Aassertion%22%3E%40NOT_USED%40%3C%2Fsaml%3ANameID%3E%3Csamlp%3ASessionIndex%3EST-47-zdTNWjTqaSAbtxbpBPca-abc.com%3C%2Fsamlp%3ASessionIndex%3E%3C%2Fsamlp%3ALogoutRequest%3E
--a42de647-F--
HTTP/1.1 302 Found
X-Frame-Options: SAMEORIGIN
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store
Pragma: no-cache
Location: https://portal.com/caa/login?service=https%3A%2F%2Faccountingdev..com%2F
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
csrf-token: D=20647 t=1476445738526589
Content-Length: 493
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1

【问题讨论】:

  • 你能显示应该阻止这个不起作用的请求的规则吗?
  • 我想关闭为这个特定网址设置的规则。
  • 哪个规则?还是要关闭此 URL 的所有规则?
  • 是的。我想关闭这个特定网址的所有规则。
  • 网址是“/”,即主页。可以关闭主页的所有规则,或者如果您想要的话,可以关闭正文中包含“logoutRequest”的请求。或者,最好解释哪个规则正在触发,并为这些请求排除该规则。目前您的问题还不清楚是什么问题以及您想做什么。

标签: apache mod-rewrite mod-security


【解决方案1】:

你可以这样写规则:

SecRule REQUEST_METHOD "POST" "phase:1,id:1234,pass,log,chain"
    SecRule REQUEST_URI "/" "ctl:ruleEngine=Off"

这应该会关闭对主页发出的任何 POST 请求(未经测试)的 ModSecurity。这当然是相当广泛的,并且可能会取消对您要检查的主页的其他 POST 请求的保护。

或者,您可以这样做以仅搜索此特定请求:

SecRule REQUEST_METHOD "POST" "phase:2,id:1234,pass,log,chain"
   SecRule REQUEST_URI "/"
       SecRule ARG_POSTS:logoutRequest "LogoutRequest" "ctl:ruleEngine=Off"

但是,这需要成为第 2 阶段的规则,才能查看 POST 参数 - 它们位于 BODY 中,因此在第 1 阶段不可用。这可能意味着第 1 阶段的规则甚至在到达此规则之前就会触发。

非常更好的想法是调整正在触发的规则,但这涉及告诉我们它们是哪些规则,而您似乎犹豫不决。所以在你这样做之前帮不了你太多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-14
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    相关资源
    最近更新 更多