C# HttpWebRequest是否存在可感染操作系统的漏洞

C# HttpWebRequest是否存在可感染操作系统的漏洞,c#,security,c#-4.0,httpwebrequest,webclient,C#,Security,C# 4.0,Httpwebrequest,Webclient,我的问题是,使用下面的方法获取web,运行操作系统的程序会受到任何可能的方式的感染吗 操作系统是windows server 2008 r2或windows 7 sp1 c#4.5 这里是我使用的方法 我只是在寻找通过任何病毒或任何安全漏洞感染的任何可能方式的答案 我的意思是,安全性低于100%吗 using (System.Net.WebClient webClnt = new System.Net.WebClient()) { HttpWebRe

我的问题是,使用下面的方法获取web,运行操作系统的程序会受到任何可能的方式的感染吗

操作系统是windows server 2008 r2或windows 7 sp1

c#4.5

这里是我使用的方法

我只是在寻找通过任何病毒或任何安全漏洞感染的任何可能方式的答案

我的意思是,安全性低于100%吗

   using (System.Net.WebClient webClnt = new System.Net.WebClient())
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(srQueryRequest);

            if (srProxyHost != "none")
            {
                webClnt.Proxy = proxy;
                webClnt.Credentials = proxy.Credentials;
                request.Proxy = proxy;
            }

            request.Timeout = irTimeOut * 1000;

            using (WebResponse response = request.GetResponse())
            {
                using (Stream strumien = response.GetResponseStream())
                {
                    using (StreamReader sr = new StreamReader(strumien))
                    {
                        string srResult = sr.ReadToEnd();                            
                    }
                        }
                    }
                }
          }

关于安全性,这取决于您如何处理返回的字符串。如果它包含javascript,并且您在浏览器中执行它,理论上您可能会发现一些令人讨厌的东西

除此之外,代码有些混乱

WebClient(webrequest的包装器)未使用,上述代码可压缩为:

   using (System.Net.WebClient webClnt = new System.Net.WebClient())
    {
       webClnt.proxy = proxy;
       var srResult = webClient.DownloadString(srQueryRequest);
    }

你在用
srResult
做什么?什么都没有。只是文本操作,如替换、保存到文件、子字符串等。我不执行字符串。只是文本字符串操作。我还想知道代理是否有可能?我不信任代理,所以我也检查了它,它没有任何超时功能。我是说webclient?如果你只是在执行字符串操作,你会没事的,即使代理返回了一些讨厌的东西,如果你不执行它的话。关于超时,请更正webclient包装器中未实现的错误,因此只需使用webrequest(web客户端不在代码中执行任何操作)或扩展webclient类即可