ASP.NET ViewState没有Mac已启用
描述:ASP.NET ViewState已启用Mac
ViewState是一种内置于ASP.NET平台的机制,用于持续到跨越连续请求的用户界面和其他数据的元素。要持久化的数据由服务器序列化并通过隐藏的表单字段传输。当它发布回服务器时,viewState参数被反对并检索数据。
默认情况下,服务器签名序列化值以防止用户篡改;但是,通过将Page.EnableViewStateMac属性设置为False,可以禁用此行为。如果完成此操作,则攻击者可以修改ViewState的内容并导致要由服务器进行反序列化和处理的任意数据。攻击者可以通过提供小工具链来在服务器上执行任意代码。此外,如果ViewState包含对服务器处理请求至关重要的任何项目,那么这可能导致直接安全曝光。
您应该尝试识别有效的小工具链来控制服务器,并且失败,审查ViewState的内容以确定它是否包含可以操纵攻击应用程序的任何关键项。
修复:ASP.NET ViewState没有Mac已启用
没有充分的理由禁用默认的ASP.NET行为,其中签名viewstate以防止篡改。要确保发生这种情况,您应该在ViewState当前未签名的任何页面上设置Page.enableViewStateMAC属性到TRUE。
参考
漏洞分类
典型的严重性
高的
类型索引(十六进制)
0x00400600.
类型索引(十进制)
4195840.