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

asp.net – 在Microsoft Ajax中伪造__EVENTVALIDATION

发布时间:2020-12-16 07:24:05 所属栏目:asp.Net 来源:网络整理
导读:我正在为网站制作移动应用程序以查看您的日程安排.他们不提供任何API,也无意提供任何API. 该网站只能使用Ajax,但要伪造这些请求并刮掉我需要伪造__EVENTVALIDATION帖子字段的网站. 我对网站没有任何控制权,而且我从未使用ASP.NET或Microsoft Ajax构建任何东
我正在为网站制作移动应用程序以查看您的日程安排.他们不提供任何API,也无意提供任何API.

该网站只能使用Ajax,但要伪造这些请求并刮掉我需要伪造__EVENTVALIDATION帖子字段的网站.

我对网站没有任何控制权,而且我从未使用ASP.NET或Microsoft Ajax构建任何东西.

有没有人这样做过?

我发现__EVENTVALIDATION字段有这种模式(…表示字节根据请求,base64解码版本的hexdump而改变):

d8 01 16 13 02 4f 0a
...
f6 e0 84 d4 05 02 a0 3f
e2 3f 03 02 3f d8 d1 d5 0c 02 bb 82 cf ec 08 02
b4 b5 99 f8 0b 02 3f 89 3f eb 04 02 d5 83 90 88
0a 02 8a db 94 90 03 02 8b cf 3f 85 08 02 93 3f
b1 3f 06 02 9b 3f 8f a5 02 02 b5 b4 af 85 01 02
d1 fc ae 9c 0e 02 b4 e2 94 9e 0a 02 3f e2 94 9e
0a 02 3f e2 94 9e 0a 02 bb 92 80 a5 06
...                                  

解决方法

在构建ASP.NET站点的scraper之前,我已经解决了这个问题.您需要请求浏览器用户通常会登陆的初始页面,提取__VIEWSTATE和__EVENTVALIDATION哈希,然后使用这些来对您实际需要的数据进行第二次请求.

例如,如果您正在从表单提交中抓取响应:

>为表单所在的页面发出AJAX请求
>从响应中提取视图状态和事件验证哈希
>创建一个模拟表单提交的新AJAX请求,将哈希作为参数传递

如果你正在寻找JavaScript函数来从标记中提取哈希,我已经在GitHub上发布了我用作ms-viewstate的那些.

(编辑:李大同)

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

    推荐文章
      热点阅读