登陆抓包获取的密码 验证码怎么生成的(迅雷登陆抓包)

qw270570764 2013-10-25 05:23:44
1、迅雷的密码怎么生成的,同一个密码多次抓包获取的值都不一样
2、验证码是怎么获取的. 我应该怎么取判断是否需要输入验证码
这是我点POST提交时获取的参数 密码是123456 但是每次取的P都不一样


求大神指点!第一次做模拟登陆,没有一点头绪!
...全文
788 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qw270570764 2013-10-28
  • 打赏
  • 举报
回复
引用 6 楼 l676331991 的回复:
[quote=引用 2 楼 qw270570764 的回复:] i.xunlei.com 你能看看是怎么实现的吗?
找到了!,代码被压缩替换了,很难看,不过还是可以看出一些端倪的。 追踪提交按钮的引用,一直追踪到这个函数。[/quote] 你是用什么工具追中到登陆引用了哪些方法的?
l676331991 2013-10-26
  • 打赏
  • 举报
回复
引用 2 楼 qw270570764 的回复:
i.xunlei.com 你能看看是怎么实现的吗?


找到了!,代码被压缩替换了,很难看,不过还是可以看出一些端倪的。
追踪提交按钮的引用,一直追踪到这个函数。



w.u = B.username;
w.p = md5(md5(md5(B.password)) + B.captcha.toUpperCase());
由此可以看出,w.p是密码两次md5加密后和验证码的大写连接再md5一次

这个B.captcha又是什么,往上追踪发现有一个条件赋值,而且在网络连接中发现一个新的连接,但不是xhr。



就是这个check login的连接,response中没有东西,因为XHR不能跨域,二级域也不能,但是潜入一个iframe指向这个url还是可以的。迅雷的工程师既然用到cookie能跨子域,甚是妙哉。
看到response header中有一个set-cookie报头。

check_result=0:!GZN;

这个check_result,故名思意,按冒号分割开,0表示不需要用户输入验证码,即是用后面的四个字符作为验证码。


这个B.captcha的值便是,若check_result返回0,则使用check_result后4位字符,若check_result返回非0,则表示要求用户输入验证码,则取验证码输入框中的值。

看到这个链接中有两个VERIFY_KEY,一个去一个返,应该是有做验证的。
浴火_凤凰 2013-10-25
  • 打赏
  • 举报
回复
模拟登录,跟迅雷怎么生成密码用什么关系???你只要填写自己的密码就行了啊。
浴火_凤凰 2013-10-25
  • 打赏
  • 举报
回复
模拟登录???如果有验证码,那就不行 了吧。。。
qw270570764 2013-10-25
  • 打赏
  • 举报
回复
我这里有一份关于迅雷登陆的资料:http://jixun.org/932-thunder-weblogin/ 我在使用JS GET http://login.xunlei.com/check/?u=270570764@qq.com无法获取返回的值 能不能在细节伤指点下,因为这个就是细节的上的一些问题.求大神指点!
qw270570764 2013-10-25
  • 打赏
  • 举报
回复
i.xunlei.com 你能看看是怎么实现的吗?
l676331991 2013-10-25
  • 打赏
  • 举报
回复
1. 从加密后形式上看,应该是MD5加密。每次MD5都不一样,那应该是每次打开页面,由服务器派发一个随机码,登陆的时候把这个码和密码连接起来再md5,称作加salt。 2. 验证码实现原理一般是,先由服务器生成一个随机串,保存到session或其他存储机制中,然后由服务器将随机串进行文字转化为图片,加干扰,然后输出到浏览器。表单提交到后端,后端代码就可以判断验证码是否输入正确。 3. 如何判断是否需要验证码?这个只能分析html代码结构了吧~

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧