- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在最新的Asp.Net December 2013 Security updates微软为 ASP.Net 发布了一个补丁——“不安全的 ASP.NET Web 表单 (.aspx) 配置可能允许远程代码执行”。相关知识库文章是 2905247
据我所知,ViewStateMac 只是用来确定这个 ViewState 是由服务器生成的,而不是由攻击者生成的。但他们在安全更新文章中说:
If a web developer sets EnableViewStateMac=false for any page in his site, an attacker could leverage this to upload and invoke arbitrary executable code within the context of the web service account. This is an example of a remote code execution (RCE) attack.
例如,如果我为某些 aspx 页面禁用 EnableViewStateMac,它如何允许攻击者在我的 Web 应用程序的上下文中执行恶意代码?据我所知,在最坏的情况下,攻击者可以欺骗 ViewState 以获得一些虚假数据\事件\验证。但它只会影响这个页面。而且我无法通过将要执行的 ViewState 上传任何恶意 C# 代码。在这种情况下,RCE 攻击是什么意思?
最佳答案
我找不到有关此漏洞的更多详细信息,因此我的回答只是推测可能的攻击媒介。
MAC 是 ViewState 值的签名,使用 EnableViewStateMac=true
ASP.NET 将检查 MAC 签名是否实际将 ViewState 值签名为真实的。这意味着 __VIEWSTATE
隐藏字段中客户端发送的 ViewState 值已被验证为来自服务器。
现在假设处理 ViewState 值的代码容易受到对象反序列化的攻击。微软公告指出:
An unauthenticated attacker could send specially crafted HTTP content to the targeted server, potentially allowing the attacker to run code on the server in the context of the service account running on the ASP.NET site.
使用 EnableViewStateMac=true
无法利用此漏洞,因为在处理 ViewState 值之前验证 MAC。任何不是来自服务器的值都会遇到 Validation of viewstate MAC failed
异常消息。
但是,使用 EnableViewStateMac=false
时,攻击者可以操纵整个 ViewState 值以利用 buffer overflow/用privilege escalation逃避攻击并执行作为有效负载注入(inject)到 __VIEWSTATE
字段中的任意代码。
因此总而言之,由于不再验证 ViewState 值,它打开了这个未公开的攻击媒介进行攻击的领域。
关于c# - Asp.net EnableViewStateMac 和恶意代码 [12 月安全更新],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20505734/
我有我的 Web 应用程序,我在 web.config 的属性下设置了 enableViewStateMac="true"。我试图验证 View 状态的不同安全方面。 但是,在一种情况下,enable
将 enableviewstatemac 设置为“true”会影响网站的性能吗?能给我解释一下吗? 最佳答案 是的,它会影响网站的性能,straight from MSDN : A view-stat
在最新的Asp.Net December 2013 Security updates微软为 ASP.Net 发布了一个补丁——“不安全的 ASP.NET Web 表单 (.aspx) 配置可能允许远程
我目前正在解决 ASP.net 网站应用程序中的一些安全问题。 其中一个问题是 ViewState未加密。 所以我在 StackOverFlow 和其他地方检查了如何加密 viewState,我使用
我是一名优秀的程序员,十分优秀!