|
近来看到好多网站提供QQ挂级服务,本想通过嗅探器看看qq登录的登录过程,无奈加密了的,没法看。我用opera登录http: //wap.qq.com,在这里登录,这个过程就简单了:先向http: //211.139.167.71/waptest/TWF/qqportal/rela/updateuserinfo.jsp提交了这些数据:qq= 号码&pwd=密码&FromWhere=register,这个页面验证密码正确与否,然后转向了不同的页面。登录成功后,qq就一直在线了。这样就实现了传说中的qq挂级?至于在线时长有没有增长我没有验证。
我用下面的php、js、ASP代码分别模拟登录过程,原理是一样的。
PHP代码:
<php $qq = "100000"; //qq号码 $pwd = "123456"; //密码 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://211.139.167.71/waptest/TWF/qqportal/rela/updateuserinfo.jsp"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //这行是设定curl是否跟随header发送的location, 重要 curl_setopt($ch, CURLOPT_POST, 1); //curl_setopt($ch, "Connection", "Keep-Alive"); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POSTFIELDS, "qq=".$qq."&pwd=".$pwd."&FromWhere=register"); $return = curl_exec($ch); curl_close($ch); echo strstr($return, "postfield") ? "登录失败" : "登录成功"; ?> |
JS代码
<script type="text/javascript"> var qq = "100000"; //qq号码 var pwd = "123456"; //密码 if (window.XMLHttpRequest) { var x = new XMLHttpRequest(); } else { var MSXML = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'); for(var n = 0; n < MSXML.length; n ++) { try { var objXMLHTTP = new ActiveXObject(MSXML[n]); break; } catch(e) { } } } objXMLHTTP.open("POST", "http://211.139.167.71/waptest/TWF/qqportal/rela/updateuserinfo.jsp", false); objXMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); objXMLHTTP.setRequestHeader("Connection", "Keep-Alive"); objXMLHTTP.send("qq=" + qq + "&pwd=" + pwd + "&FromWhere=register"); if (objXMLHTTP.responseText.indexOf("验证失败") > 0) { alert("登录失败"); } else { alert("等录成功"); } </script> |
ASP代码
<% dim objXMLHTTP, qq, pwd qq = "100000" pwd = "123456" set objXMLHTTP = Server.CreateObject("MSXML2.XMLHTTP.5.0") objXMLHTTP.open "POST", "http://211.139.167.71/waptest/TWF/qqportal/rela/updateuserinfo.jsp", false objXMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" objXMLHTTP.setRequestHeader "Connection", "Keep-Alive" objXMLHTTP.send("qq="&qq&"&pwd="&pwd&"&FromWhere=register") if InStr(objXMLHTTP.responseText, "验证失败") then response.write "登录失败" else response.write "登录成功" end if set objXMLHTTP = nothing %> |
|