我已成功实施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"]
那么请你就这个问题给出指导......
答案 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