好好学习,天天向上,一流范文网欢迎您!
当前位置: >> 体会 >> 工作心得 内容页

华为网盘登陆 发现上面这一步可以自己自己随便生成一个(组图)

因为最近扔来扔去的自动签入程序,以前使用模拟方法登录,速度慢且容易出错。

所以我想使用 post 方法快速登录。

经过抓包分析,终于完成了,以下是原理。

帖子地址是

参数如下:

用户名 +“:NSP 护照:+密码 32 位 md5 计算。(小写)。

可以使用以下地址的在线工具计算测试:

对于 32 位 MD5 计算,上述结果为 + “:” + nonce。(小写),结果是响应值。

提交上述参数后,如果参数正确,则返回 JSON 数据以包含 k 个数据。

最后,只需提交以下地址。k 的值取自上面的返回,如果你没有看到 k 的值,那一定是你之前提交的参数错误。

参数

附言测试登录过程。

测试帐户 test@chenall.tk 密码:wMtA8HscF6G0Zv6V

打开

华为网盘 华为云_华为网盘登陆_华为网盘登陆首页

提取您需要的数据



2012-08-21 更新:发现上述步骤可以省略,nonce是随机值,可以生成一个随机数yourself.nsp_cid参数可以省略,不需要

首先计算响应值:

test@chenall.tk:NSP 护照:wMtA8HscF6G0Zv6V

MD5计算后获得

AEAD43FD1435A2087A12C4AC9D21E56C

执行另一个 MD5 计算

AEAD43FD1435A2087A12C4AC9D21E56C:4FDF0b700b0052.91924864

获取

9cd84c2500a6013ef3bd1441919132b6

华为网盘 华为云_华为网盘登陆首页_华为网盘登陆

现在所有参数都直接提交(获取或发布)。

@chenall.tk&response=9cd84c2500a6013ef3bd1441919132b6

返回的数据如下(如果其他信息肯定是您参数错误或用户密码错误被更正并重新提交)。

{"retcode":0,"k":"IFi6cylxBlRZsRw21JIiDtxO6ORZGun5VLViD52OOuj3dN0ylLoeHDw3ruaa1S4RFTP1Y0q8vazTvjDUjJiSu0aFSWIQ9lEgIbPSdcKCCDo%3D"}

再次提交并成功登录 %3D

另一件事要说的是,它看起来很安全,因为没有传输密码。但似乎有一个问题。目前对最终登录地址没有限制。只要你拿到这个地址,就可以直接在另一台电脑上提交这个地址登录,这也是一个安全隐患。不知道有没有时间限制,我试了昨天生成的地址,今天仍然可以使用。

您可以尝试单击上面的链接,看看是否仍然可以正常登录。

2012-06-21 更改密码后,上面的自动登录链接仍然有效。

2012-06-25 一周过去了,仍然。

2012-06-26 其他人也是如此,只要获得最终的API参数,无需登录名或密码即可操作。例如,您无需登录即可签到

2012-08-21 登录获取随机数等效物的第一步可以省略。看看前面的介绍

华为网盘 华为云_华为网盘登陆首页_华为网盘登陆

题外话,我本来是想找出网盘校验的post方法,其中最重要的参数是nspkey,就是把很多数据放在一起进行MD5计算,好久没找到所有需要的数据了。你别无选择,只能放弃,如果你已经研究过计算方法,不妨分享一下。

2012-06-26 计算方法已经想通了,现在可以快速登录了。 ^^,chrome真的很强大,调试一下很快就知道了,我以前傻乎乎的慢慢看JS源码。快速自动签

到方式,只需点击链接即可自动签到,无需密码,无需登录,

本文中测试帐户的自动签入链接如下:

如何获取上面的链接?最简单的方法是直接抓取包,你可以用Chrome直接抓住包。

当然,您可以手动创建链接,要生成此链接,您必须首先知道参数是如何派生的。

上面的链接参数说明(其中不重要的参数可以省略)。

对上述参数进行排序,但nsp_key字母顺序向前排序华为网盘登陆,得到以下结果。

anticache=383
nsp_cb=_jqjsp
nsp_fmt=JS
nsp_sid=wuTubNKuCQi1muaOXx-uu4FjnYp182zozF58ZBk1HSNkFwED
nsp_svc=com.dbank.signin.signin

华为网盘 华为云_华为网盘登陆首页_华为网盘登陆

nsp_ts=1341032380236

删除参数中间的 = 会得到一个字符串 anticache383nsp_cb_jqjspnsp_fmtJSnsp_sidwuTubNKuCQi1muaOXx-uu4FjnYp182zozF58ZBk1HSNkFwEDnsp_svccom.dbank.signin.signinnsp_ts1341032380236

cookie 中密钥的值后跟上一步,例如 325c8b0ee26aa42cd4a4c20326a97a98 最后一个字符串如下所示

325c8b0ee26aa42cd4a4c20326a97a98anticache383nsp_cb_jqjspnsp_fmtJSnsp_sidwuTubNKuCQi1muaOXx-uu4FjnYp182zozF58ZBk1HSNkFwEDnsp_svccom.dbank.signin.signinnsp_ ts1341032380236

上一步中字符串的 MD5 计算给出了 nsp_key 9AC41E0B0DD240F97361F87483131667 的值 现在所有参数都可用,只需合并到上一个链接中,这个链接已经过我测试,就像之前的自动登录链接一直有效一样。自动签到的需求很简单,只需定期打开链接,也可以根据返回的结果得到签到结果。

PS:请继续阅读本文的结尾,有办法更新。

组织本文的自动登录和签入链接

自动登录测试

自动值机测试

如果有兴趣,可以尝试点击以上两个链接,看看可以使用多长时间华为网盘登陆,当前自动登录链接是在本文发表之日6月18日获得的,6月30日仍然有效。

编辑:我发现签到链接现在受到限制(前几天测试时似乎没有限制),所以......我每次都要重新生成,而且很简单,只需要在登录后替换cookie中的密钥和会话值,其余的不需要更改。

华为网盘登陆首页_华为网盘登陆_华为网盘 华为云

我有点知道为什么华为网络驱动器的页面打开速度响应缓慢。你认为,每次打开一个页面,你需要调用 10 多个 API,每个 API 都需要经过一系列的 MD5 计算。而经过如此复杂的计算,我个人认为安全性并没有增加,只是人为地增加了客户端和服务器上的计算量。

建议参考其他网盘,登录后可以直接调用API,没有这样的麻烦。像天翼网盘一样,登录后直接

您可以获取用户信息

登录

看起来直观简单,我真的不明白华为为什么这么复杂,我想可能是为了与其他 API 调用保持一致。

编辑2:其中一些参数已经过测试,是不需要的。按如下方式重新排列必要的参数。只需要两个参数。

nsp_sid=wuTubNKuCQi1muaOXx-uu4FjnYp182zozF58ZBk1HSNkFwED
nsp_svc=com.dbank.signin.signin
nsp_ts 参数后面的值可以不要,但nsp_ts字符串须要有

最终的链路地址是因为参数较少,链路中的参数应相应减少

编辑3: 2014-01-15 由于 Boke 转移到 HEXO,文章进行了重组,新的 API 发生了变化nsp_ts这是必要的,不能与服务器的时间相差太大,可以用 time() 在 PHP 中获取。

由于API上的一些变化,另外,华为网盘已经有了相关的API文档,以上大部分计算方法都可以从API文档中找到,估计上面的链接应该无效了,懒得重新获取。保留本文作为研究记录,

TAG标签: 登录链接签到