Http 为什么不应该';我们不允许身体进入GET或HEAD请求吗?

Http 为什么不应该';我们不允许身体进入GET或HEAD请求吗?,http,get,head,f5,web-application-firewall,Http,Get,Head,F5,Web Application Firewall,我是从信息安全的角度来讨论这个问题的,不是从应用程序开发的角度,我只是想先说明一下。问题是我的WAF正在通过响应阻止某些图像,HTTP协议遵从性失败:GET或HEAD请求中的Body。我需要证明保持此规则的有效性,因此作为非开发人员,我要问: 这是否因为GET和HEAD请求的规则而被阻止,或者我们可以允许身体进入GET和HEAD请求,但这真的不是一个好主意 为什么这不是一个好主意?在GET或HEAD请求中允许Body会产生哪些潜在问题 提前感谢大家的帮助 GET和HEAD不发送请求主体,只发送P

我是从信息安全的角度来讨论这个问题的,不是从应用程序开发的角度,我只是想先说明一下。问题是我的WAF正在通过响应阻止某些图像,HTTP协议遵从性失败:GET或HEAD请求中的Body。我需要证明保持此规则的有效性,因此作为非开发人员,我要问:

  • 这是否因为GET和HEAD请求的规则而被阻止,或者我们可以允许身体进入GET和HEAD请求,但这真的不是一个好主意
  • 为什么这不是一个好主意?在GET或HEAD请求中允许Body会产生哪些潜在问题

  • 提前感谢大家的帮助

    GET和HEAD不发送请求主体,只发送POST和PUT do(请参阅) 您被阻止的另一个原因是,正如我自己经常看到的,请求头的内容长度或传输编码之一,如果真的没有请求主体(内容长度:0),则可以容忍。当WAF找到这些头时,它将请求视为有一个主体,甚至大小为0

  • 如果您放松该政策,您将允许合法流量,但同时也为GET/PUT上的异常流量打开了大门。为了避免这种情况,您可以添加一个iRule或LTM策略来删除GET/PUT上的头,直到F5发布了更好的软件版本,以便在主体大小为0时不阻塞通信
  • 当有缺陷的Web服务器缓冲GET/HEAD主体中发送的数据而不是返回400错误并忽略数据时,就会出现潜在的问题。这些数据可能会导致内存消耗,或者将黑客的数据注入合法用户请求中,此时结果未知。如果您对Web服务器有信心,可以放宽WAF策略