加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 我可以在html源代码中看到ViewStateUserKey吗?

发布时间:2020-12-16 09:53:55 所属栏目:asp.Net 来源:网络整理
导读:在使用4.0框架的asp.net webforms应用程序中,我们将ViewStateUserKey设置为一个唯一值,以阻止跨站点请求伪造漏洞. 我们最近没有通过漏洞测试,因为测试人员说他无法“观察”html源代码中存在的漏洞.我希望我可以简单地解码ViewState并查看ViewStateUserKey,但
在使用4.0框架的asp.net webforms应用程序中,我们将ViewStateUserKey设置为一个唯一值,以阻止跨站点请求伪造漏洞.

我们最近没有通过漏洞测试,因为测试人员说他无法“观察”html源代码中存在的漏洞.我希望我可以简单地解码ViewState并查看ViewStateUserKey,但是,当我解码视图状态(使用Fiddler2 ViewState检查器或其中一个在线解码器站点,如http://ignatu.co.uk/ViewStateDecoder.aspx)时,我看不到ViewStateUserKey.我可以在viewstate中看到值,混合了一堆乱码,但ViewStateUserKey本身似乎是在乱码中编码的.

例如,这里是解码的视图状态(使用Fiddler2 ViewState检查器),一个页面具有一个DropDownList控件,其中包含4个值(Text1,Text2,Text3,Text4),您可以看到与乱码混合的值:

?-1665646599dfddddfText11gText22gText33gText44gddd?"H~E* =91??;??O!??;?O?B?g

这是同一页面,ViewStateUserKey设置为静态值“cat”(我知道当设置为静态值时,ViewStateUserKey没有用).

?-1665646599dfddddfText11gText22gText33gText44gddd?Gpb????c??uy?l????F3??>?h?~

观点结束时的胡言乱语发生了变化;似乎ViewStateUserKey隐藏在乱码中.但有没有办法向漏洞测试人员证明这一点?

注意,如果我将enableViewStateMAC设置为“false”(当然在生产中永远不会这样做),我会得到不同的乱码,但我仍然无法在html源代码中看到ViewStateUserKey.

解决方法

ViewStateUserKey值通常不包含在有效负载本身的一部分中.相反,它是一种特殊的修饰符,在计算加密MAC(有效载荷末尾的乱码)时与有效载荷混合在一起.但由于MAC功能不可逆,因此无法根据MAC推断其ViewStateUserKey是什么.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读