Java 脚本的 Snort 规则不起作用
Snort rule for Java script does not work
我不明白为什么以下规则没有检测到内容"unescape":
alert tcp any any -> any any (msg:"example 1";flow:to_client,established;file_data;content:"unescape";sid:20001)
虽然以下工作:
alert tcp any any -> any any (msg:"example 1";flow:to_client,established;file_data;content:"<script>";sid:20001)
似乎Snort没有检测到脚本标签中的任何内容。谢谢。
选项可以在 http 预处理器中命名 javascript。 您需要确保已启用此功能,否则取消逃逸等功能将不是您所期望的。但是,您仍然应该看到"unescape",所以我不完全确定这是您的问题。您可以在服务器配置选项的snort手册中阅读有关如何配置此选项的信息。 以下是手册中有关此选项的代码片段:
"normalize_javascript此选项允许在HTTP响应正文中规范化Javascript。在配置此选项之前,您应该extended_response_inspection选择配置选项。启用此选项后,Http Inspect 通过搜索 <script>
标记在 HTTP 响应正文中搜索 Javascript,并开始对其进行规范化。当 Http Inspect 看到没有类型的 <script>
标记时,它被视为 javascript。javascript函数中的混淆数据,如unescape,String.fromCharCode,decodeURI,decodeURIComponent将被规范化。在 unescape/decodeURI/decodeURIComponent 中处理的不同编码是 %XX, %uXXXX,二十和三十一.除了这些编码之外,Http Inspect 还将检测连续的空格并将其规范化为单个空格。Http Inspect 还将规范化加号并连接字符串。规则选项file_data可用于从规则访问此规范化缓冲区。当 Http 检查中的混淆级别等于或大于 2 时,将生成具有 SID 9 和 GID 120 的预处理器警报。
如果这仍然不起作用,那么您应该检查以下内容:
可能是 http 预处理器服务器配置配置中的server_flow_depth设置得太低。默认值为 300,因此如果"<script>
"在前 300 个字节内,而"unescape"在 300 字节之后,snort 不会检查那么远。 尝试将此值设置为 65535。您应该能够通过为" </script>
"提供内容匹配来测试这一点,如果这不会生成警报,则可能是该设置。
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- JsFiddle上的鼠标事件不起作用
- 我的AngularJS表达式没有'不起作用
- 点击按钮输入不起作用
- 面向对象的Javascript代码在IE7中不起作用
- Jquery.pwsstrength密码强度指示器规则不起作用
- jison规则的优先级不起作用
- Java 脚本的 Snort 规则不起作用
- 删除 CSS 规则在 Firefox 中不起作用
- 为什么某些 if 语句规则不起作用
- JQuery验证Regex规则不起作用
- 设置规则在jQuery Validate插件中不起作用
- 添加规则到样式表 JavaScript - insertRule不起作用
- javascript远程规则不起作用
- 添加规则后,Jquery表单验证不起作用