关于Mod安全规则的问题

时间:2016-03-16 12:10:13

标签: mod-security mod-security2

我已成功实施Modsecurity防火墙。

但我的团队面临一个与Sql Injection&的防火墙规则相关的问题。 XSS。

问题是。每当用户添加具有特殊字符的普通信息时,规则就可以执行并显示错误403被禁止的页面。并且在Apache错误日志中获得了各种行号,这是规则行。我在modsecurity_crs_41_xss_attack.conf&中对规则号(309,508)的每条规则进行了评论。 modsecurity_crs_41_sql_injeciton.conf中的(223,233,243,237,211,239,49,136)。

这给我假阳性结果。

  

测试场景是

     

输入文字

     

只剩下8个座位!立即注册!

     

课程费用包括课程材料,实践培训,工作午餐,   早餐,晚茶。

     

**将根据事先要求提供免费住宿

     

如需住宿,请致电+91 12345 67890与我们联系   ================================================== apache中的错误日志

     

Sahil:[3月16日星期三10:29:57.316380 2016] [:错误] [pid   25001] ModSecurity:拒绝访问代码403(阶段2)。图案   匹配"(?i:[\" \\'] [](([^ a-z0-9~ _:\\'])|(in))。 ?+ \\)&#34(\\?);   在   ARGS_NAMES:重定向:$ {#解析度=#context.get(' com.opensymphony.xwork2.dispatcher.HttpServletResponse&#39),#res.setCharacterEncoding(" UTF-8&#34),# REQ =#context.get(' com.opensymphony.xwork2.dispatcher.HttpServletRequest&#39),#res.getWriter()打印(" DIR:&#34)。,#res.getWriter ().println(#req.getSession()的getServletContext()getRealPath(" /&#34)),#res.getWriter()平齐(),#res.getWriter()关闭(。 )}。   [文件   " /usr/share/modsecurity-crs/activated_rules/modsecurity_crs_41_xss_attacks.conf"]   [line" 506"] [id" 973335"] [rev" 2"] [msg" IE XSS Filters - Attack   检测到。"] [数据"匹配数据:   '),#res.setCharacterEncoding(\ x22UTF-8 \ x22)   ARGS_NAMES:重定向:$ {#解析度=#context.get(' com.opensymphony.xwork2.dispatcher.HttpServletResponse&#39),#res.setCharacterEncoding(\ x22UTF-8 \ X22),#REQ =#上下文获得(' com.opensymphony.xwork2.dispatcher.HttpServletRequest&#39),#res.getWriter()打印(\ x22dir:\ X22)。,#res.getWriter()的println(#req.getSession ()。   [hostname" 54.169.124.26"] [uri" /"] [unique_id   " Vuk1pawfC1wAAGGpqA8AAAAS"]

那么请你就这个问题给出指导......

1 个答案:

答案 0 :(得分:0)

加载此/usr/share/modsecurity-crs/activated_rules/modsecurity_crs_41_xss_attacks.conf文件后,您应该在config中添加这样的例外:

SecRuleUpdateTargetById 973335 !ARG_NAMES:'/redirect.*/'

也可能对这个答案感兴趣: Extra sensitive Mod Security rules giving 403 forbidden error