From 788a181d09902f4e102877ea5990c46fd8b7276e Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Wed, 5 Dec 2018 14:22:34 -0800 Subject: [PATCH] Fix AMT password checking, added ClickOnce ECDSA cert support --- package.json | 2 +- .../MeshMiniRouter.application | 8 ++++---- .../MeshMiniRouter.exe.config.deploy | 0 .../MeshMiniRouter.exe.deploy | Bin 186368 -> 186368 bytes .../MeshMiniRouter.exe.manifest | 8 ++++---- .../MeshMiniRouter.ico.deploy | Bin .../minirouter/MeshMiniRouter.application | 8 ++++---- public/clickonce/minirouter/publish.htm | 2 +- views/default.handlebars | 5 +++-- webserver.js | 10 +++------- 10 files changed, 20 insertions(+), 23 deletions(-) rename public/clickonce/minirouter/Application Files/{MeshMiniRouter_2_0_0_18 => MeshMiniRouter_2_0_0_19}/MeshMiniRouter.application (85%) rename public/clickonce/minirouter/Application Files/{MeshMiniRouter_2_0_0_18 => MeshMiniRouter_2_0_0_19}/MeshMiniRouter.exe.config.deploy (100%) rename public/clickonce/minirouter/Application Files/{MeshMiniRouter_2_0_0_18 => MeshMiniRouter_2_0_0_19}/MeshMiniRouter.exe.deploy (87%) rename public/clickonce/minirouter/Application Files/{MeshMiniRouter_2_0_0_18 => MeshMiniRouter_2_0_0_19}/MeshMiniRouter.exe.manifest (91%) rename public/clickonce/minirouter/Application Files/{MeshMiniRouter_2_0_0_18 => MeshMiniRouter_2_0_0_19}/MeshMiniRouter.ico.deploy (100%) diff --git a/package.json b/package.json index 67fc1b12..fdef964a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "meshcentral", - "version": "0.2.4-a", + "version": "0.2.4-b", "keywords": [ "Remote Management", "Intel AMT", diff --git a/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_18/MeshMiniRouter.application b/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.application similarity index 85% rename from public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_18/MeshMiniRouter.application rename to public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.application index ce304f52..4d9757a0 100644 --- a/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_18/MeshMiniRouter.application +++ b/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.application @@ -1,20 +1,20 @@  - + - - + + - MRs3i+wWL3/q3ug0vDLnjcM9sWnwJ7cH8RmaFbWEqBs= + OrVnTQLTKIxVLZNkTlIIvRGSS1WhevCMECD0a58kSYI= diff --git a/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_18/MeshMiniRouter.exe.config.deploy b/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.exe.config.deploy similarity index 100% rename from public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_18/MeshMiniRouter.exe.config.deploy rename to public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.exe.config.deploy diff --git a/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_18/MeshMiniRouter.exe.deploy b/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.exe.deploy similarity index 87% rename from public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_18/MeshMiniRouter.exe.deploy rename to public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.exe.deploy index 431b926e7e89c988377cb97c8b92d831715a2fd5..128e5646d919a1520e23173e088898d64c5192a3 100644 GIT binary patch delta 11663 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 W)!XZzKVP^%z+E10pRR@Yjrd;$F~8OT delta 12023 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 diff --git a/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_18/MeshMiniRouter.exe.manifest b/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.exe.manifest similarity index 91% rename from public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_18/MeshMiniRouter.exe.manifest rename to public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.exe.manifest index a62d2369..36d5630b 100644 --- a/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_18/MeshMiniRouter.exe.manifest +++ b/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.exe.manifest @@ -1,10 +1,10 @@  - + - + @@ -44,13 +44,13 @@ - + - 9CBRw9I6oJzioNiqBO2hWNS8fPrKJs8WKO4N99KM6NY= + 06I3GLTLWQ3HjlpCbxpboVtNzeTJZ6nWgSqw191sAuE= diff --git a/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_18/MeshMiniRouter.ico.deploy b/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.ico.deploy similarity index 100% rename from public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_18/MeshMiniRouter.ico.deploy rename to public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.ico.deploy diff --git a/public/clickonce/minirouter/MeshMiniRouter.application b/public/clickonce/minirouter/MeshMiniRouter.application index ce304f52..4d9757a0 100644 --- a/public/clickonce/minirouter/MeshMiniRouter.application +++ b/public/clickonce/minirouter/MeshMiniRouter.application @@ -1,20 +1,20 @@  - + - - + + - MRs3i+wWL3/q3ug0vDLnjcM9sWnwJ7cH8RmaFbWEqBs= + OrVnTQLTKIxVLZNkTlIIvRGSS1WhevCMECD0a58kSYI= diff --git a/public/clickonce/minirouter/publish.htm b/public/clickonce/minirouter/publish.htm index 7c4e5986..15e7497c 100644 --- a/public/clickonce/minirouter/publish.htm +++ b/public/clickonce/minirouter/publish.htm @@ -59,7 +59,7 @@ FONT.key {font-weight: bold; color: darkgreen}
-
 
Name:MeshCentral Mini-Router
 
Version:2.0.0.18
 
Publisher:Meshcentral.com
 
+
 
Name:MeshCentral Mini-Router
 
Version:2.0.0.19
 
Publisher:Meshcentral.com
 
diff --git a/views/default.handlebars b/views/default.handlebars index d780e08d..bcdf2659 100644 --- a/views/default.handlebars +++ b/views/default.handlebars @@ -1282,7 +1282,7 @@ case 'getcookie': { if (message.tag == 'clickonce') { var basicPort = "{{{serverRedirPort}}}" == "" ? "{{{serverPublicPort}}}" : "{{{serverRedirPort}}}"; - var rdpurl = "http://" + window.location.hostname + ":" + basicPort + "/clickonce/minirouter/MeshMiniRouter.application?WS=wss%3A%2F%2F" + window.location.hostname + "%2Fmeshrelay.ashx%3Fauth=" + message.cookie + "&CH={{{webcerthash}}}&AP=" + message.protocol + ((debugmode == 1)?"":"&HOL=1"); + var rdpurl = "http://" + window.location.hostname + ":" + basicPort + "/clickonce/minirouter/MeshMiniRouter.application?WS=wss%3A%2F%2F" + window.location.hostname + "%2Fmeshrelay.ashx%3Fauth=" + message.cookie + "&CH={{{webcerthash}}}&AP=" + message.protocol + ((debugmode == 1) ? "" : "&HOL=1"); window.open(rdpurl, '_blank'); } break; @@ -3229,6 +3229,7 @@ if (((meshrights & 8) != 0) && (mesh.mtype == 2)) x += 'Router '; // RDP link, show this link only of the remote machine is Windows. + console.log(((connectivity & 1) != 0), (clickOnce == true), (mesh.mtype == 2), ((meshrights & 8) != 0)); if (((connectivity & 1) != 0) && (clickOnce == true) && (mesh.mtype == 2) && ((meshrights & 8) != 0)) { if ((node.agent.id > 0) && (node.agent.id < 5)) { x += 'RDP '; } if (node.agent.id > 4) { @@ -6460,7 +6461,7 @@ function addLinkConditional(x, f, c) { if (c) return addLink(x, f); return x; } function haltEvent(e) { if (e.preventDefault) e.preventDefault(); if (e.stopPropagation) e.stopPropagation(); return false; } function addOption(q, t, i) { var option = document.createElement("option"); option.text = t; option.value = i; Q(q).add(option); } - function passwordcheck(p) { var re = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()]).{8,}/; return re.test(p); } + function passwordcheck(p) { return (p.length > 7) && (/\d/.test(p)) && (/[a-z]/.test(p)) && (/[A-Z]/.test(p)) && (/\W/.test(p)); } function methodcheck(r) { if (r && r != null && r.Body && r.Body.ReturnValueStr != "SUCCESS") { messagebox("Call Error", r.Header.Method + ": " + r.Body.ReturnValueStr.replace("_", " ")); return true; } return false; } function TableStart() { return "

"; } function TableStart2() { return "

"; } diff --git a/webserver.js b/webserver.js index 39bd6098..31dcd67d 100644 --- a/webserver.js +++ b/webserver.js @@ -107,7 +107,6 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { obj.webCertificateHashBase64 = new Buffer(obj.webCertificateHash, 'binary').toString('base64').replace(/\+/g, '@').replace(/\//g, '$'); obj.webCertificateFullHash = parent.certificateOperations.getCertHashBinary(obj.certificates.web.cert); obj.webCertificateFullHashs = { '': obj.webCertificateFullHash }; - obj.webCertificateFullHashBase64 = new Buffer(obj.webCertificateFullHash, 'binary').toString('base64').replace(/\+/g, '@').replace(/\//g, '$'); obj.agentCertificateHashHex = parent.certificateOperations.getPublicKeyHash(obj.certificates.agent.cert); obj.agentCertificateHashBase64 = new Buffer(obj.agentCertificateHashHex, 'hex').toString('base64').replace(/\+/g, '@').replace(/\//g, '$'); obj.agentCertificateAsn1 = parent.certificateOperations.forge.asn1.toDer(parent.certificateOperations.forge.pki.certificateToAsn1(parent.certificateOperations.forge.pki.certificateFromPem(parent.certificates.agent.cert))).getBytes(); @@ -132,9 +131,6 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { } } - //console.log(new Buffer(obj.webCertificateHashs['devtest'], 'binary').toString('hex')); - //console.log(new Buffer(obj.webCertificateFullHashs['devtest'], 'binary').toString('hex')); - // If we are running the legacy swarm server, compute the hash for that certificate if (parent.certificates.swarmserver != null) { obj.swarmCertificateAsn1 = parent.certificateOperations.forge.asn1.toDer(parent.certificateOperations.forge.pki.certificateToAsn1(parent.certificateOperations.forge.pki.certificateFromPem(parent.certificates.swarmserver.cert))).getBytes(); @@ -759,14 +755,14 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { if (obj.args.minify && !req.query.nominify) { // Try to server the minified version if we can. try { - res.render(obj.path.join(__dirname, isMobileBrowser(req) ? 'views/default-mobile-min' : 'views/default-min'), { viewmode: viewmode, currentNode: currentNode, logoutControl: logoutcontrol, title: domain.title, title2: domain.title2, domainurl: domain.url, domain: domain.id, debuglevel: parent.debugLevel, serverDnsName: getWebServerName(domain), serverRedirPort: args.redirport, serverPublicPort: httpsPort, noServerBackup: (args.noserverbackup == 1 ? 1 : 0), features: features, sessiontime: args.sessiontime, mpspass: args.mpspass, webcerthash: obj.webCertificateHashBase64, footer: (domain.footer == null) ? '' : domain.footer }); + res.render(obj.path.join(__dirname, isMobileBrowser(req) ? 'views/default-mobile-min' : 'views/default-min'), { viewmode: viewmode, currentNode: currentNode, logoutControl: logoutcontrol, title: domain.title, title2: domain.title2, domainurl: domain.url, domain: domain.id, debuglevel: parent.debugLevel, serverDnsName: getWebServerName(domain), serverRedirPort: args.redirport, serverPublicPort: httpsPort, noServerBackup: (args.noserverbackup == 1 ? 1 : 0), features: features, sessiontime: args.sessiontime, mpspass: args.mpspass, webcerthash: new Buffer(obj.webCertificateFullHashs[domain.id], 'binary').toString('base64').replace(/\+/g, '@').replace(/\//g, '$'), footer: (domain.footer == null) ? '' : domain.footer }); } catch (ex) { // In case of an exception, serve the non-minified version. - res.render(obj.path.join(__dirname, isMobileBrowser(req) ? 'views/default-mobile' : 'views/default'), { viewmode: viewmode, currentNode: currentNode, logoutControl: logoutcontrol, title: domain.title, title2: domain.title2, domainurl: domain.url, domain: domain.id, debuglevel: parent.debugLevel, serverDnsName: getWebServerName(domain), serverRedirPort: args.redirport, serverPublicPort: httpsPort, noServerBackup: (args.noserverbackup == 1 ? 1 : 0), features: features, sessiontime: args.sessiontime, mpspass: args.mpspass, webcerthash: obj.webCertificateHashBase64, footer: (domain.footer == null) ? '' : domain.footer }); + res.render(obj.path.join(__dirname, isMobileBrowser(req) ? 'views/default-mobile' : 'views/default'), { viewmode: viewmode, currentNode: currentNode, logoutControl: logoutcontrol, title: domain.title, title2: domain.title2, domainurl: domain.url, domain: domain.id, debuglevel: parent.debugLevel, serverDnsName: getWebServerName(domain), serverRedirPort: args.redirport, serverPublicPort: httpsPort, noServerBackup: (args.noserverbackup == 1 ? 1 : 0), features: features, sessiontime: args.sessiontime, mpspass: args.mpspass, webcerthash: new Buffer(obj.webCertificateFullHashs[domain.id], 'binary').toString('base64').replace(/\+/g, '@').replace(/\//g, '$'), footer: (domain.footer == null) ? '' : domain.footer }); } } else { // Serve non-minified version of web pages. - res.render(obj.path.join(__dirname, isMobileBrowser(req) ? 'views/default-mobile' : 'views/default'), { viewmode: viewmode, currentNode: currentNode, logoutControl: logoutcontrol, title: domain.title, title2: domain.title2, domainurl: domain.url, domain: domain.id, debuglevel: parent.debugLevel, serverDnsName: getWebServerName(domain), serverRedirPort: args.redirport, serverPublicPort: httpsPort, noServerBackup: (args.noserverbackup == 1 ? 1 : 0), features: features, sessiontime: args.sessiontime, mpspass: args.mpspass, webcerthash: obj.webCertificateHashBase64, footer: (domain.footer == null) ? '' : domain.footer }); + res.render(obj.path.join(__dirname, isMobileBrowser(req) ? 'views/default-mobile' : 'views/default'), { viewmode: viewmode, currentNode: currentNode, logoutControl: logoutcontrol, title: domain.title, title2: domain.title2, domainurl: domain.url, domain: domain.id, debuglevel: parent.debugLevel, serverDnsName: getWebServerName(domain), serverRedirPort: args.redirport, serverPublicPort: httpsPort, noServerBackup: (args.noserverbackup == 1 ? 1 : 0), features: features, sessiontime: args.sessiontime, mpspass: args.mpspass, webcerthash: new Buffer(obj.webCertificateFullHashs[domain.id], 'binary').toString('base64').replace(/\+/g, '@').replace(/\//g, '$'), footer: (domain.footer == null) ? '' : domain.footer }); } } else { // Send back the login application