gpt4 book ai didi

javascript - Java 脚本的 Snort 规则不起作用

转载 作者:行者123 更新时间:2023-11-28 00:38:03 28 4
gpt4 key购买 nike

我不明白为什么以下规则没有检测到内容“unes​​cape”:

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 这样的功能将不会是您所期望的。但是,您仍然应该看到“unes​​cape”,所以我不完全确定这是您的问题。您可以在 server configuration options 的 snort 手册中了解如何配置此选项。 。以下是手册中有关此选项的片段:

“normalize_javascript 此选项启用 HTTP 响应正文中的 Javascript 规范化。在配置此选项之前,您应该选择配置选项extend_response_inspection。打开此选项时,Http Inspect 通过搜索来搜索 HTTP 响应正文中的 Javascript为 <script> 标签并开始规范化它。当 Http Inspect 看到没有类型的 <script> 标签时,它被视为 javascript。javascript 函数中的混淆数据,例如 unescape、String .fromCharCode、decodeURI、decodeURIComponent 将被标准化。unescape/decodeURI/decodeURIComponent 中处理的不同编码是 %XX、%uXXXX、XX 和uXXXXi。除了这些编码之外,Http Inspect 还将检测连续的空格并将其标准化为单个空格。 Http Inspect 还将规范化加号并连接字符串。规则选项 file_data 可用于从规则访问此标准化缓冲区。当 Http Inspect 中的混淆级别等于或大于 2 时,会生成 SID 9 和 GID 120 的预处理器警报。”

如果这仍然不起作用,那么您应该检查以下内容:

您的 server_flow_depth 可能在 http preprocessor server configuration 中配置设置太低。默认值为 300,因此如果“<script> ”出现在前 300 个字节内,而“unes​​cape”出现在 300 个字节之后,则 snort 不会检查那么远。尝试将此值设置为 65535。您应该能够通过“</script> ”的内容匹配来测试此值,如果这不会生成警报,则可能是该设置。

关于javascript - Java 脚本的 Snort 规则不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28266797/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com