From bfbb411d7c2b0da5613e4da04602f95db3093904 Mon Sep 17 00:00:00 2001 From: Carlos <28845529+mesacarlos@users.noreply.github.com> Date: Mon, 18 Nov 2019 18:58:32 +0100 Subject: [PATCH] Enhanced security with JS Strings --- client/index.html | 2 +- client/scripts/WebConsole.js | 2 +- client/scripts/WebConsoleJqueryHandler.js | 10 +++++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/client/index.html b/client/index.html index 806d6d5..5b4e8d8 100644 --- a/client/index.html +++ b/client/index.html @@ -212,7 +212,7 @@ diff --git a/client/scripts/WebConsole.js b/client/scripts/WebConsole.js index bb0f05e..df1b511 100644 --- a/client/scripts/WebConsole.js +++ b/client/scripts/WebConsole.js @@ -233,7 +233,7 @@ function updateServerList(){ //Add all servers var servers = persistenceManager.getAllServers(); for(var i = 0; i < servers.length; i++){ - $('#ServerListDropDown').append('' + servers[i].serverName + ''); + $('#ServerListDropDown').append('' + servers[i].serverName.replace(//g,">").replace(/'/g,"").replace(/"/g,"") + ''); } //Show a "no servers" message when no servers are added diff --git a/client/scripts/WebConsoleJqueryHandler.js b/client/scripts/WebConsoleJqueryHandler.js index 7dae965..66bbe9d 100644 --- a/client/scripts/WebConsoleJqueryHandler.js +++ b/client/scripts/WebConsoleJqueryHandler.js @@ -19,6 +19,14 @@ $(document).ready(function() { $("#server-ssl").prop('checked', true); $("#server-ssl").prop("disabled", true); } + + //Remove servers from persistence with invalid names. See v1.4-rev2 for details + var servers = persistenceManager.getAllServers(); + for(var i = 0; i < servers.length; i++){ + if(servers[i].serverName.includes("\'") || servers[i].serverName.includes("\"") || servers[i].serverName.includes("<") || servers[i].serverName.includes(">")){ + persistenceManager.deleteServer(servers[i].serverName); + } + } }); /** @@ -26,7 +34,7 @@ $(document).ready(function() { */ $("#saveAndConnectServerButton").click(function() { //Save server - var name = $("#server-name").val(); + var name = $("#server-name").val().replace(//g,">").replace(/'/g,"").replace(/"/g,""); var wcIp = $("#server-ip").val(); var wcPort = $("#server-port").val(); var wcSsl = $("#server-ssl").prop('checked');