安宁网站建设服务:完整分析HTTP规避原则:阻止传输绕过防火墙

防火墙主要通过传输编码字段划分请求包绕过,如恶意软件检测可以通过以下结构的请求包绕过:
  
   http/1.0 200好
  
   传输编码:分块
  
   未分块的内容
  
   什么是闭塞传输
  
   在HTTP 0.9中,响应包的安宁网站建设服务结尾仅仅依赖于TCP断开连接。一些字段已添加到HTTP 1.0响应头中。例如,content-length用于指示响应包的大小,但是Content-length的值只能在服务器提前知道HTTP头的长度时确定,这意味着如果发送动态内容,首先需要缓存数据,在发送数据之前,必须计算HTTP头的大小否则,如果TCP连接仍在以前的方式,则在数据未传输时可能会断开连接,则数据传输将不得不中断。要解决这种情况,TCP连接必须保持活动状态。
  
   因此,在HTTP 1.1标准中增加了块传输技术,这样服务器首先将其长度添加到每个块中,以便在得到第一个块时就可以发送出去。每个数据块的长度用十六进制数表示。响应包的结尾是一个大小为0的空包。例如,在T中以下示例中,字符串0123456789 abcdefgh需要分为三个数据块和一个要发送的结束空数据块:
  
   数据块:
  
   http/1.1 200好
  
   传输编码:分块
  
   乙
  
   012345 67 89A
  
   三
  
   BCD
  
   四
  
   EFGH
  
   零
  
   请注意,在HTTP头中,每行ISRN和每个数据块的换行符以r。最后一个块是单行,由块大小(0)、一些可选填充空间和r.
  
   防火墙可以看到每个块,而浏览器可以看到整个包,因此如果稍微修改块,防火墙和浏览器的内容将非常不同,因此可以绕过防火墙。
  
   通过传输编码和内容长度绕过
  
   HTTP 1.1标准明确规定,如果同时给出内容长度和传输编码块模式,则使用的传输模式为块传输,必须忽略内容长度字段,所有浏览器都遵循这一原则,但仍有15%的防火墙是以相反的方式解析的,因此可以绕过SUC。h采用这种简单技术的防火墙:
  
   http/1.1 200好
  
   传输编安宁网站建设服务码:分块
  
   内容长度:22
  
   三
  
   马尔
  
   四
  
   器皿
  
   零
  
   令人惊讶的是,这些受影响的防火墙忽略了这样一个事实:这些响应包可能不是分区包,并且允许这些包直接通过防火墙。一些防火墙,如sophos utm,已经在HTTP 1.0包中解析了块转换,但至少这些防火墙已经清理了响应包,这就足够了。耐心地。在这种情况下,绕过防火墙也很困难。
  
   其他防火墙虽然不解析HTTP 1.0中的传输编码,但如果使用特定的浏览器,则可以绕过这些防火墙。与所有浏览器不同,Safari浏览器不会查看响应包使用的HTTP版本,而是通过块传输技术直接解析带有传输编码的头段,而不管响应包是否Age是否使用HTTP 1.0。因此,除非防火墙清除响应包并过滤掉不正确的头,否则使用Safari浏览器的用户可能会受到以下包的安宁网站建设服务攻击:
  
   http/1.0 200好
  
   传输编码:分块
  
   三
  
   马尔
  
   四
  
   器皿
  
   零
  
   浏览器的处理方式也不同,即浏览器只解析稍后的传输编码,而其他主流浏览器只查看响应头中是否有传输编码字段。如果字段的值被分块,则将直接对其进行分析。
  
   分块对分块对分块对分块对分块等
  
   像chrome和ie这样的浏览器严格控制传输编码的值,并且只允许对其值进行分块。但是,firefox可以接受分块和其他单词组合。例如,分块或分块的foo.safari更糟。他只是检查是否有一个分块的字符串,并接受它,只要它存在,如这是-不是-分块-和-我的意思-它。
  
   同样,在这种情况下,有几个防火墙不考虑响应程序是否被分区,但仍然根据无效的头进行解析。当然,这不仅限于未知防火墙和Gartner Top NGFW。因此,在使用Firebox或Safari时,以下HTTP响应包可以绕过几乎25%的测试防火墙:
  
   http/1.1 200好
  
   传输编码:X块
  
   三
  
   马尔
  
   四
  
   器皿
  
   零
  
   还有几种方法可以从防火墙隐藏传输编码,例如在特定位置添加空格或其他字符。浏览器通常忽略这些功能并继续分析响应卷。
  
   此外,20%的测试防火墙在解析扩展时没有正确处理这些问题,这可能导致绕过防火墙。