QQ post系列之登录
小菜要写QQpost系列的了 继续装逼走起抓包地址:http://qzone.qq.com/?s_url=http://user.qzone.qq.com/+你的QQ号同样当你输入完账号将光标切换到密码输入框的时候这时候 返回来一个check封包那是判断你的账号是否需要验证码的包 这个包 有重要作用 以后会用到 我们复制出来看一下
返回的封包:http://check.ptlogin2.qq.com/check?regmaster=&pt_tea=1&pt_vcode=1&uin=1158184029&appid=549000912&js_ver=10131&js_type=1&login_sig=vrgxiJz07vx-2bD8ZuxSHmo39X2368YlDuAs1SLpQngRSGhCf0sh9JYUHaVFZddw&u1=http%3A%2F%2Fqzs.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&r=0.4377816805497903
我们看看这里面有哪些参数
uin=1158184029QQ号
appid=549000912这应该是常量 不变的值 不用管
login_sig=vrgxiJz07vx-2bD8ZuxSHmo39X2368YlDuAs1SLpQngRSGhCf0sh9JYUHaVFZddw这个肯定是动态的参数了
r=0.4377816805497903 0-1的尾随机数不用管
我们来获取ogin_sig参数的值直接在httpwatch搜索 这个参数值
我们搜到了是在这个封包里面获取到的大家注意右下角他并不是在返回的文本里而是在这里获取到的这里是什么呢 是这个封包的返回协议有时候很多参数都在一个封包的返回协议里 而不是单纯的返回文本里 好 我们再来看这个地址
http://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=http%3A//qzs.qq.com/qzone/v6/portal/proxy.html&daid=5&pt_qzone_sig=1&hide_title_bar=1&low_login=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&appid=549000912&style=22&target=self&s_url=http%3A%2F%2Fqzs.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&pt_qr_app=手机QQ空间&pt_qr_link=http%3A//z.qzone.com/download.html&self_regurl=http%3A//qzs.qq.com/qzone/v6/reg/index.html&pt_qr_help_link=http%3A//z.qzone.com/download.html
撘眼一看这个并没有参数其实这也正常 如果一直这样 一个封包套着一个封包下去那还有完没完了 要知道编写这么一个网页也是很费劲的
我们直接网页访问这个地址代码如下
再次说明不是在他的返回文本里 而是在她的 返回协议里获取到login_sig输出调试一下
我们已经获取到sig的值了 文本取中间把它取出来 然后 我们返回到 验证码的 check包 参数值获取到了 我们就网页访问看他会不会返回的文本跟httpwatch返回的一样
看到了 果然获取的一样 我们分别把参数取出来 放进指定的变量里 有大用...
我们看到 第一个 是iSFX 这个就是验证码了服务器判断你的账号不需要验证码 那么这个参数就是i开头后面三个大写字母四个长度 如果需要验证码第二个参数就会变成第一个参数 而第二个参数就会使一串 00\00什么的
ok这个封包可以说搞完了 那么 继续我们的 登录包地址
http://ptlogin2.qq.com/login?u=1158184029&verifycode=!ZAD&pt_vcode_v1=0&pt_verifysession_v1=f758baf86ab47b3c9689ca8f4ce791ce05f430c44bac04ea3e844e4c43922344971a7bd360a7cfad03d0cb293906f28cd7664985677978e2&p=XXXXXXXXXX&pt_randsalt=0&u1=http%3A%2F%2Fqzs.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&ptredirect=0&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=5-27-1439344167970&js_ver=10131&js_type=1&login_sig=vrgxiJz07vx-2bD8ZuxSHmo39X2368YlDuAs1SLpQngRSGhCf0sh9JYUHaVFZddw&pt_uistyle=32&aid=549000912&daid=5&pt_qzone_sig=1&
u=1158184029账户名 也就是QQ号
pt_verifysession_v1=f758baf86ab47b3c9689ca8f4ce791ce05f430c44bac04ea3e844e4c43922344971a7bd360a7cfad03d0cb293906f28cd7664985677978e2大家看看这个是不是和我们的 验证码 check包里 返回的那一段一样的 所以说这个参数值我们已经有了
p=XXXXXXXXXX 还用说肯定是密码了
login_sig=vrgxiJz07vx-2bD8ZuxSHmo39X2368YlDuAs1SLpQngRSGhCf0sh9JYUHaVFZddw又看到这个sig了 我们一开始就把他获取到了
其他的就没了 重要的参数就这几个除了密码的 其他的参数我们都有了主要是说说 密码的加密
这就是加密后的密码 有这么多 你要做他的post登录就得明白他的密码是如何从一串明文密码 加密到这种状态的其实一样 md5算法 只不过 他这个md5脚本加密了我们明眼看不出来这里用到一个工具 JS调试工具
为什么要用它接着往下看我们搜索md5或者js 搜索到
这就是他的md5加密脚本 现在你看他根本就看不出所以然来 那是因为加密了eval加密
我们用JS调试工具 解密一下看图片
如果你解密后 看到这一段 那就表示你已经找对了我们就利用他来实现密码的加密 在JS调试工具里 搜索password
前面那个就是加密密码试用的函数我们把整个js复制进常量里 利用这个函数进行加密还有一点值得一提的是 他的加密 不光是执行js脚本md5加密 还会加上验证码一块算还记得我们之前获取的那个check封包吗 分别返回了两个参数如果你的账号不需要验证码 那么就要用到第一个参数了 就是 i后面三个字母
密码解决了继续提交吧代码如下
ok登录成功小菜装逼完成 闪人了 {:5_188:}有时间在写 说说赞评论方面的 吃饭去了..{:5_116:}
沙发,好作品,已评分。也来个沙发奖励啊!{:5_116:} 直接上一个视频不就OK了文字打那么多累不累啊 首先先谢谢小七师傅!最近工作里,遇到一个问题。想通过易语言写个东西偷个懒。刚刚看您这个大概的思路过程,说实话突然灵光一闪。我想我知道该怎么下手了{:5_123:} 感觉帖子高大上,就是看不懂{:5_188:} 治愈先生 发表于 2015-8-12 14:47
首先先谢谢小七师傅!最近工作里,遇到一个问题。想通过易语言写个东西偷个懒。刚刚看您这个大概的思路过程 ...
师傅努力 {:5_116:} 1325266720 发表于 2015-8-12 17:02
感觉帖子高大上,就是看不懂
垃圾帖子 不入师父的法眼{:5_188:}
大神表达了什么,看不懂 感谢分享http://bbs.huorong.cn/?fromuid=14556