防止在Apache中修改http响应头

时间:2017-05-26 11:46:26

标签: php apache .htaccess security nginx

我在我的网站上运行了一次安全扫描,并在下面的网址中显示了安全线程的扫描报告,并在#anco / product / view / id"

以下网址在HTTP响应标头中添加自定义标头 XSaint:test / planting-a-stake / category / 99 。(请参阅响应标头中的最后一行)

我尝试了不同的解决方案,但没有运气!任何人都可以建议我阻止修改HTTP响应头。​​

网址:/ catalog / product / view / id / 1256 / x%0D%0AXSaint:%20test / planting-a-stake / category / 99

响应标题:

Cache-Control:max-age=2592000
Content-Encoding:gzip
Content-Length:253
Content-Type:text/html; charset=iso-8859-1
Date:Fri, 26 May 2017 11:27:12 GMT
Expires:Sun, 25 Jun 2017 11:27:12 GMT
Location:https://www.xxxxxx.com/catalog/product/view/id/1256/x
Server:Apache
Vary:Accept-Encoding
XSaint:test/planting-a-stake/category/99

1 个答案:

答案 0 :(得分:0)

HTTP标头注入漏洞与在您的应用程序中注入可用于插入任意标头的数据的人有关(请参阅https://www.owasp.org/index.php/HTTP_Response_Splitting)。

在这种特定情况下,扫描程序假定漏洞可能来自Location头中的URI:

//1. should add this OBJECT to the array
var objToAdd11 : Object = {name: 'Zack', age: 24};
this.addObject(objToAdd11);

//2. should throw errorbecause this is ARRAY, and we need only OBJECTS
var objToAdd22 : Array  = [{name: 'Zack', age: 24}];
this.addObject(objToAdd22);

public  addObject(obj: any) : void {
   /*I need to check is obj parameter OBJECT OR ARRAY*/
   var myArray : Array = [1, "a", 3];

   function () {
       myArray.push(obj);
   }

   var newMyArray : Array = myArray;
}

这里需要确保放入此URI的数据不能嵌入行返回字符,引用OWASP HTTP Response Splitting页面:

  

CR(回车,也由%0d或\ r \ n提供)

     

LF(换行,也由%0a或\ n给出)