asp.net - 这是企图破坏我的 ASP.Net 站点的安全吗?

标签 asp.net security exception

我对 ASP.NET 还很陌生。我最近在我的网站上设置了自动电子邮件,以通知我未处理的异常情况。就在几个小时前,3 分钟内出现了 10 个未处理的异常,并且所有堆栈跟踪都是相似的。错误消息中有很多我不明白的内容,但我不喜欢它的样子。

这是其中一封电子邮件:

An unhandled exception occurred:
Message: Padding is invalid and cannot be removed.

 Stack Trace:
    at System.Security.Cryptography.RijndaelManagedTransform.DecryptData(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, Byte[]& outputBuffer, Int32 outputOffset, PaddingMode paddingMode, Boolean fLast)
    at System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount)
    at System.Security.Cryptography.CryptoStream.FlushFinalBlock()
    at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo)
    at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType)
    at System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context)
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

这是企图侵入我的网站还是其他什么?

<小时/>

非常感谢那些提供答案和评论的人,它们为我指明了获得此异常答案的正确方向。其原因可能很难确定,尤其是当不是发生在网络场中时。

IE 5.5 并没有像我之前想象的那样导致问题。

它并不容易找到,但其中一位工作人员在我的网络托管论坛上发表的一篇文章提到了 Viewstate 错误的报告。原因归因于asp工作进程或服务器回收。

asp 工作进程设置引用 machine.config 文件中的 processModel 元素。请参阅http://msdn.microsoft.com/en-us/library/7w2sway1(VS.80).aspx了解更多信息。

建议的修复方法是在 web.config 文件中设置加密的 machineKey。 Machine Key 节点位于 system.web 元素中。

这很容易完成并解决了问题,这要归功于方便的 ASP.NETResources 站点,它有一个 MachineKey Generator。请参阅http://www.aspnetresources.com/tools/keycreator.aspx .

最佳答案

当程序集资源处理程序收到无效请求时,会引发此异常。这不太可能与任何恶意事件有关;这通常是由于服务器上的机器配置不正确造成的。

一些背景:

ASP.NET 具有通过 HttpHandler 从程序集 (dll) 公开资源的内置机制。 JavaScript 和图像等资源可以作为文本存储在程序集中,并由浏览器通过 .axd 处理程序请求。但出于安全原因,处理程序不接受资源的纯文本位置,这可能会暴露有关代码如何工作的线索。相反,它使用服务器上 machine.config 中的信息来加密资源的唯一标识符。当请求资源时会抛出此异常,但当服务器尝试解密提供的标识符时,会失败。

关于asp.net - 这是企图破坏我的 ASP.Net 站点的安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/617782/

相关文章:

asp.net - 如何访问在本地主机 (IIS) 上运行的 ASP.NET Web api

c# - 存储在字符串变量中的值在每次页面加载时丢失

javascript - .js 文件被所有浏览器阻止

android - 致命异常主要 Android 应用程序

c# - 使用 Kudu 在 Azure 上部署 ASP.NET vNext beta 2

javascript - 如何本地化 asp :TextBox's placeholder by reading App_LocalResources file (. resx)

apache - 提供 403 禁止错误的特别敏感的 Mod 安全规则

java - 在java文件中使用密码安全吗?

C# 异常包含事件详细信息

java - Java 中是否存在未处理的异常处理程序?