我正在使用Burp Suite在网站上进行一些安全测试,我注意到当它检测到ViewState时会自动告诉你它是否启用了MAC。
我很好奇是否有人知道如果您在没有实际尝试修改ViewState的情况下抓取网站时确定MAC是否已启用的编程方式,请提交它并查看是否有任何事情发生?
据我所知,Burp Suite只是通过查看请求(而不是修改/提交)来做到这一点。
答案 0 :(得分:3)
ViewStates基本上是BASE64编码的字符串。所以你可以做的是尝试用BASE64解码器解码它们。如果它是加密的,你会得到一些不易读的二进制内容。如果未使用加密,您将能够看到内容。例如,Fiddler2可以帮助您在浏览器中解码ViewStates。
现在还可以选择使用MAC:
如果视图状态启用了MAC,那么就具有此安全性 系统在于秘密密钥值的保密性。这个值是 始终存储在服务器上,无论是在内存中还是在配置中 文件(稍后会详细介绍)-it永远不会写入页面。没有 知道密钥后,攻击者就无法计算密钥 有效的视图状态哈希。
您可以通过解码VIEWSTATE(如果未加密)来检查这一点,并验证ViewState结构末尾是否存在20字节的哈希值。