通过网址提取服务从Google App引擎发送发布请求时,对viewstate MAC进行验证失败

通过网址提取服务从Google App引擎发送发布请求时,对viewstate MAC进行验证失败,第1张

通过网址提取服务从Google App引擎发送发布请求时,对viewstate MAC进行验证失败

看来您正在

POST
对aspx页面执行 *** 作。

当aspx页面接收到

POST
请求时,它会期望一些隐藏的输入,这些隐藏的输入具有已编码的ViewState-
如果浏览到有问题的页面和“查看源代码”,则应该在
<form />
标记内看到一些类似于以下内容的字段

<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /><input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="xxxxxxxxx" />

因为您提交的

POST
请求中没有这些值,所以解码和验证它们时会遇到麻烦(这就是错误的含义-在其他情况下,它也会由于其他原因而出现)。

有两种可能的解决方案:

1-如果您有权访问网站的代码,并且登录页面不需要ViewState,则可以尝试在

@Page
伪指令中的页面级别将其关闭:

<%@ Page ViewStateMode="Disabled" .... %>

2-您可以执行双重请求-

GET
在登录页面上进行请求以检索所有缺少的隐藏字段的值-使用这些值并将其包括在您的
POST

编辑 啊,是的,从您的评论中我可以看到您已经包含了隐藏的表单字段-抱歉!

在这种情况下,另一种可能性是登录页面处于负载平衡的环境中。该环境中的每个服务器将具有一个不同的

MachineKey
值(用于对ViewState进行编码/解码)。您可能正在阅读中的一个,然后在另一个中发布。一些LB将ArrowPoint
cookie注入响应中,以确保您在请求之间“粘贴”到同一服务器。

我可以看到您已经在其中包含一个cookie

POST
,但看不到它的定义位置。是来自第一个
GET
请求,还是自定义cookie?如果您还没有尝试过,也许尝试使用原始的cookie来
GET
获取登录页面HTML?除此之外,我没主意-
对不起!



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5430701.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存