Межсайтовый скриптинг: отражение - PullRequest
0 голосов
/ 18 июня 2020
public async Task<TestModel> ExecuteActionOnAllServers(TestModel model)
{
//few lines of code 
tasks.Add(ExecuteActionOnMachine(System.Web.HttpContext.Current, model, "http://localhost:2035/Gen/intranet/Test/ExecuteActionLocally", "localhost"));        
}


private async Task<string> ExecuteActionOnMachine(System.Web.HttpContext ctx, TestModel model, string url, string machineName)
{
            string response = null;
            await Task.Run(() =>
            {
                try
                {
                    //few lines of code
                    DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(PageModel));
                    HttpWebRequest requestHttp = (HttpWebRequest)WebRequest.Create(url);
                    requestHttp.Method = "POST";
                    requestHttp.ContentType = "application/json;";
                    ser.WriteObject(requestHttp.GetRequestStream(), model);
                    //few lines of code

                }
                Catch()
                {
                }
            }
}

Метод Invoke () в TestController.cs отправляет непроверенные данные в веб-браузер. В этом случае данные поступают в ExecuteActionOnAllServers () в TestController.cs. Данные включаются в содержимое Dynami c, которое отправляется веб-пользователю без проверки. В этом случае данные отправляются в WriteObject () в TestController. .cs

Как обрабатывать межсайтовый скриптинг: отражено в приведенном выше сценарии?

...