QQ验证机制分析(一)20150310

  • QQ验证是基于iframe框架下的(这里我分析的是QQ邮箱的跳转,其他的也有可能用的是ajax技术)。

    我们使用fidder截取请求,在浏览器输入mail.qq.com,提交请求,我们可以看到

    1

    1、请求跳转至https://mail.qq.com/cgi-bin/loginpage

    2

     

    2、页面通过iframe,提交子请求至https://xui.ptlogin2.qq.com/cgi-bin/xlogin?appid=522005705&daid=4&s_url=https://mail.qq.com/cgi-bin/login?vt=passport%26vm=wpt%26ft=loginpage%26target=&style=25&low_login=1&proxy_url=https://mail.qq.com/proxy.html&need_qr=0&hide_border=1&border_radius=0&self_regurl=http://zc.qq.com/chs/index.html?type=1&app_id=11005?t=regist&pt_feedback_link=http://support.qq.com/discuss/350_1.shtml&css=https://res.mail.qq.com/zh_CN/htmledition/style/ptlogin_input24430a.css

    这个页面我认为是一个QQ的通用认证页面,也就是所有的腾讯网页认证最终的登录页面都会跳转至此,如果破解当前页就能攻破腾讯的认证机制。

    3、查看页面代码,发现是去掉了格式的,使用格式化工具,格式代码。

    1)通过loadJS()函数加载js代码

    2)login_button为登录按钮的id,破解主要由login_button为主要线索

    3)页面加载了https://xui.ptlogin2.qq.com/js/10114/c_login_2.js这个js文件,设想里面应该包含了相关的传输信息。

    4、查看这个文件,发现提交用户名密码的代码就包含在里面。

    过程比较复杂,简单分析,发现,程序将pt.plogin.submit函数绑定在提交按钮的click事件上
    3

    这个函数通过pt.plogin.getSubmitUrl取得提交的代码b,通过$.http.loadScript(b)提交请求,这里用loadScript也比较诡异(不过正好回答了抓包的一个疑惑)

    4

    这是提交用户名密码的请求,但是看左边显示的mime是js,一开始还以为是fidder的bug。

    这里分析的是大体的QQ认证框架,具体请求的url生成函数pt.plogin.getSubmitUrl()将在下一篇文章分析。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值