From 535d04e92413fee2f5ef98c177d94235a002c579 Mon Sep 17 00:00:00 2001
From: Thomas Rientjes <synzvato@protonmail.com>
Date: Thu, 11 Jan 2018 18:29:53 -0300
Subject: [PATCH] Implement cookie sanitation

---
 .eslintrc                 |  1 +
 core/constants.js         | 10 +++++++---
 core/request-sanitizer.js |  6 +++---
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/.eslintrc b/.eslintrc
index 8e8ecee..602bd64 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -8,6 +8,7 @@
   "globals": {
     "Address": true,
     "files": true,
+    "Header": true,
     "helpers": true,
     "interceptor": true,
     "mappings": true,
diff --git a/core/constants.js b/core/constants.js
index 1d4de9e..86e5754 100644
--- a/core/constants.js
+++ b/core/constants.js
@@ -27,6 +27,12 @@ const Address = {
     'WWW_PREFIX': 'www.'
 };
 
+const Header = {
+    'COOKIE': 'Cookie',
+    'ORIGIN': 'Origin',
+    'REFERER': 'Referer'
+};
+
 const Resource = {
     'MAPPING_EXPRESSION': /\.map$/i,
     'VERSION_EXPRESSION': /(?:\d{1,2}\.){1,3}\d{1,2}/,
@@ -46,9 +52,7 @@ const Setting = {
 const WebRequest = {
     'GET': 'GET',
     'BLOCKING': 'blocking',
-    'HEADERS': 'requestHeaders',
-    'ORIGIN_HEADER': 'Origin',
-    'REFERER_HEADER': 'Referer'
+    'HEADERS': 'requestHeaders'
 };
 
 const Whitelist = {
diff --git a/core/request-sanitizer.js b/core/request-sanitizer.js
index a28799f..8a76e67 100644
--- a/core/request-sanitizer.js
+++ b/core/request-sanitizer.js
@@ -47,11 +47,11 @@ requestSanitizer.disable = function () {
 
 requestSanitizer._stripMetadata = function (requestDetails) {
 
+    let sensitiveHeaders = [Header.COOKIE, Header.ORIGIN, Header.REFERER];
+
     for (let i = 0; i < requestDetails.requestHeaders.length; ++i) {
 
-        if (requestDetails.requestHeaders[i].name === WebRequest.ORIGIN_HEADER) {
-            requestDetails.requestHeaders.splice(i--, 1);
-        } else if (requestDetails.requestHeaders[i].name === WebRequest.REFERER_HEADER) {
+        if (sensitiveHeaders.indexOf(requestDetails.requestHeaders[i].name) > -1) {
             requestDetails.requestHeaders.splice(i--, 1);
         }
     }
-- 
GitLab