Python 爬虫进阶必备 | 某k12注册加密参数分析

举报
xianyuplus 发表于 2021/03/16 09:41:52 2021/03/16
【摘要】 今日网站aHR0cHM6Ly9hZXJmYXlpbmcuY29tLw==这个网站来自读者投稿需要分析的是右上角注册时的 s值抓包分析与定位像我这样填入测试信息,点击注册提交可以在开发者工具中找到下面的注册包这里的 s 值就是需要分析的参数值因为这个Register是 xhr 请求,所以最方便的就是使用 xhr 断点分析请求切换至sources选项卡,在右侧添加对应的xhr断点再次点击注册按钮...

今日网站

aHR0cHM6Ly9hZXJmYXlpbmcuY29tLw==

这个网站来自读者投稿

需要分析的是右上角注册时的 s

抓包分析与定位

像我这样填入测试信息,点击注册提交

可以在开发者工具中找到下面的注册包

这里的 s 值就是需要分析的参数值

因为这个Register是 xhr 请求,所以最方便的就是使用 xhr 断点分析请求

切换至sources选项卡,在右侧添加对应的xhr断点

再次点击注册按钮,断点会断在下面这个位置

在这个位置我们只能看到网页上提交的数据中s已经生成好了

代表这里不是s加密的地方,所以点击右侧的call stack中下一个堆栈(指上一层的代码逻辑)

同样查看代码中的参数,发现刚刚的r是由t传入的,同样查看t的值

参考上图可以看到t中的s值也生成好了,所以按照刚刚的操作,需要继续分析上一层的代码逻辑,切换至下一个堆栈

不过点击下一个堆栈缺提示下面的报错

这找不到源文件不就没办法调试了吗?

因为我也是第一次遇到这样的情况,所以通过搜索引擎找到了相关的资料

参考链接:https://stackoverflow.com/questions/60369755/could-not-load-content-for-webpack-source-file-in-chrome-sources-tab
这个应该是 webpack 的最小化生产模式导致在devtool模式的时候找不到文件隐射
(不是专业的前端开发,如果理解有误欢迎大佬指正)

在上面的参考链接中也提供了解决办法,可以通过快捷键 ctrl + o 重新加载文件

通过快捷键查找并加载文件之后,就可以看到参数s的生成逻辑了

加密分析

通过加载查找后的文件,我们可以得出 s 的生成逻辑

k = (0,c.default)(n + "?" + w + x)

这个 k 中包含两个值,分别是ts

主要的加密方法是c.default,传入的参数是n + "?" + w +x

这里需要注意的是x的值是DUE$DEHFYE(YRUEHD*&,类似 hash 加盐的操作

n 是/WebApi/Users/Register,w 是空的字符串

进一步打上断点单步调试可以看到 s 的加密逻辑

可以看到ssha1.hash(r)的结果

这里的r(e || "") + "&t=" + n

n是当前的时间戳 + 2592030000

那么r的值就是/WebApi/Users/Register?DUE$DEHFYE(YRUEHD*&&t= + n

直接拿去测试可以得出一样的结果

以上就是今天的全部内容了,咱们下次再会~

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。