科技网

当前位置: 首页 >新闻

12306抢票软件360抢票软件秒胜12306可同时抢多个方向车票

新闻
来源: 作者: 2019-05-18 14:53:40

1 : 抢票软件秒胜12306:可同时抢多个方向车票

最近网络黄牛用时0.1秒抢退票的消息,让1些乘客大失所望。现代快报记者了解到,0.1秒抢到退票这类可能性是存在的,不过得靠抢票软件来完成。那末,抢票软件“秒胜”12306网站,靠的是啥?现代快报记者为你揭秘。现代快报记者 刘伟娟

用抢票软件登录,验证码自动输入

在知情人士的推荐下,现代快报记者下载了1款抢票软件,并进行体验。该知情人士流露,目前,这款抢票软件是比较新的,也比较快的。打开登录页面,现代快报记者发现,页面左上方显示“12306登录”字样。

同时,与12306网站1样,登录抢票软件页面显示,要输入用户名、密码、验证码。但是,就在登录页面,抢票软件“秒胜”12306网站的第1招出现了。现代快报记者还没输入用户名和密码,验证码已自动输入。

在互联网购票,其实也需要排队。业内人士介绍,当很多用户同时点击,网络购票系统有可能由于承受不住,致使用户点不开,点不动等“死机”现象。而抢票软件的作用就是自动帮用户选择“不忙”的服务器,打开抢票页面。

可同时抢多车次、多席别、多天车票

进入抢票页面后,现代快报记者注意到,所有的购票信息都显示在1个页面上,包括车次、席别、日期、乘客信息等。

也就是说,使用抢票软件,可以将乘车日期、车次、席别、乘车人等全部选定,然后1键抢票。而使用12306网站,在选定乘车日期、席别后点击 “预订”,再进入下1页面选择乘车人,然后再进行抢票。相比之下,抢票软件只要在1个页面抢票,而12306网站需要进入两个页面,才开始抢票。

值得1提的是,使用抢票软件,可以选中看中的多个车次、多个席别,乃至多个日期,同时抢票。

1个账户可同时抢多个方向的车票

在体验的进程中,现代快报记者不谨慎登录页面两次。而这次不谨慎,让记者发现了抢票软件的另外一招数。

现代快报记者尝试同时打开两个页面抢票。1个界面抢南京至西安的票,另外一个页面抢南京至兰州的票。而在抢票软件的中下方,显示两个页面都在进行 抢票,速度以毫秒计算。这样1来,1个账户就能够同时开抢来回车票,或同时开抢联程车票。而对网络黄牛来讲,更是可以到达多个方向“囤票”的目的。

绑定QQ、邮箱提示抢票成功

与12306网站相比,抢票软件还多了自动提示功能。便可以绑定QQ、邮箱或是飞信,来提示用户抢票成功。

现代快报记者前天体验,开抢2月12日或13日,南京至汉口的车票,并选中了G4825、D3077、G4829等多个车次。结果,用时4秒, 抢票软件语音提示已成功抢票。车票为2月12日的G4829次。同时,在绑定的QQ对话框中,自动显示出抢到车票的信息。不过,抢票软件没有支付功能, 还需要登录12306网站,进行支付。

随后,现代快报记者登录12306网站,查询发现2月12日这天,南京至汉口没有余票。

使用抢票软件当心泄漏账户信息

虽然抢票成功,但同时存在1定的风险。其中,最大的风险是泄漏账户的信息。不光是用户自己的个人身份信息,还包括账户中的亲友身份信息,和绑定的银行卡号信息等。另外,下载、使用来源不明的抢票软件,还有可能造成计算机中毒。

从道德层面来讲,使用抢票软件,是1种有失公允的方式。由于,不是每一个人都会使用抢票软件。而使用抢票软件,相当于1种插队的行动,从而破坏购 票规则。因此,铁路业内人士建议,不要使用抢票软件。对部份使用抢票软件的用户来讲,不要贪图1时的抢票成功,而埋下了信息泄漏的隐患。另外,也有市民 建议铁路部门,根据抢票软件的特点进行扬长避短,优化12306网站的购票操作。

2 : 360、搜狗抢票软件与12306暗战:抢票软件藏隐私泄漏风险

昨日,很多乘客购买到了大年初1的春节回家票,春节购票高峰渐告1段落。[www.loach.net.cn)而360、搜狗等抢票软件也都各自经历了1场和12306网站之间的“暗战”。不过,频频秀出新功能的抢票软件,如何防范用户隐私泄漏仍让人不太放心。

随着铁道部1纸令下,本来要到明年1月才开始的春运抢票大战今年提早上演,有些迷糊的市民也许会因此误了购票时间,而精明的抢票软件也捉住了这1机会。“用户可以随便预约任意1天的火车票。”搜狗阅读器技术负责人廉磊告知记者,他们针对今年提早60天购票的特点,推出了“预约抢票”等功能。类似的功能也出现在了360阅读器上。

据介绍,用户在搜狗阅读器的购票窗口里使用12306网站的账户和密码登录,点击“预约抢票”,填写好相干车票信息提交预约单后,在发票当天,软件就会自动帮助已预约的用户进行抢票,1旦成功立即短信通知用户。“我们是把用户的预约信息放到了云端,这样用户在离网状态下,我们也能帮助他在指定时间搜索票。”廉磊说道。

不过,由于用户在抢票之前就在网站上输入了网站用户名、密码、身份证号、手机号等关键信息,而这些信息到抢票当日会被再度激活,这就存在个人信息或被泄漏的风险。

3 : 12306抢票软件360 曾可自动填写验证码

12306上线以来,互联网的抢票大战硝烟4起。早在运行早期12306曾采取数字验证码,惋惜这1验证方式几近刚1出世,就被12306抢票软件360阅读器破译,可以直接自动填写验证码,帮助用户扫除抢票障碍。

如今为防抢票软件,12306再出新招,改成最新的图片验证方式,想登录购票,得看得懂图。这1下,让曾今风行1时的抢票软件360功能全部丧效,毕竟软件还没办法到达全部智能的功效,真的让它辩图,怕还要等1阵子了。

小编登陆12306铁路购票官网登录页面发现,在登录名和密码的下方,是1大块验证码区域,区域中间写着“点此开始验证”。点开以后,验证码区域出现8张图片,验证要求“请点击下图中所有的口哨”。记者仔细检查图片,从拖把、饮料、飞鸟等图片中辨认出两幅“口哨”的图片,单击后,图片上被盖上了铁路logo的红戳,点击登录,成功进入购票页面。

如果你看不清图片,点击“刷新”,会出现另外一组图片,你需要按要求点击出相应的物品。记者尝试刷新屡次,验证图片大多是常见物品如电线、帐篷、田鸡、仪表盘等。每次验证都有两幅需要正确点选出的图片,即需要在8幅图中正确辨认出2幅图片方能完成验证。

这样的验证虽然此前从未见过,但图片辨认度也较高,正常登录页面,不会很难。但是,升级出如此“挖空心思”的验证码,12306也是蛮拼的。

虽然这1验证方式难度系数极大,但也没法阻挡功能较为全面的火车票抢票软件。新版的携程旅行,只需事前登陆携程账户,填好身份证件信息,便可直接购票,无需图片验证,10分方便快捷。

4 : 12306改版以后简单抢票软件的实现

又到1年抢票时,各种抢票软件的肆虐让12306不堪重负,最近这几天12306频繁的更换手段来禁止抢票软件。

先来吐槽1下红红的验证码,过年的时候都喜欢用红色来喜庆1下,12306也深入的表达了他的喜悦之情,又红又大的验证码啊,不过到底逾越了几个维度呢?看起来晕晕的,感觉像在时空里穿梭。科学告知我们,牛是色盲,分不出来色彩,但是伟大的黄牛们不是,不知道黄牛们看到鲜红的验证码以后会不会疯了1样的撞向显示器?那场面1定非常壮观

很快红色的验证码消失了,但是,在抢票的每步都加了1个验证,过滤掉抢票软件提交的要求,来具体分析1下这些验证和跃过验证的方法吧。

从登陆页面开始,之前的摹拟登陆还是非常简单的,提交用户名,密码,验证码,通过就OK了,增加验证以后需要多要求1个脚本并计算,先来分析登陆的步骤。

第1步、取得cookie中的JSESSIONID和BIGipServerotn,要求页面:https://kyfw.12306.cn/otn/,响应的header中有Set-Cookie值,拿到需要的两个就行了,这个比较简单,不上图了。

第2步、要求登陆页https://kyfw.12306.cn/otn/login/init,最新改版以后这个页面中多了1个内容,多加载了1个js文件,这个文件可是有大用途的。加载的地方见下图:

这个文件的名字是1直变的,需要在下载登陆页的时候直接取得,看1下脚本里面甚么内容吧,代码有点长,我分开来分析吧,页面加载完成后履行了这1段

$(document).ready(function(){(function(){vardobj=newObject();dobj['jsv']=window.helperVersion;jq({url:'/otn/dynamicJs/shxtbrm',data:dobj,type:'POST',success:function(data,textStatus){},error:function(XMLHttpRequest,textStatus,errorThrown){}});varform=document.forms[0];varoldSubmit;if(null!=form&&form!='undefined'&&form.id=='loginForm'){formform.oldSubmit=form.submit;submitForm=function(){varkeyVlues=gc().split(':');varinputObj=$('<inputtype="hidden"name="'+keyVlues[0]+'"value="'+encode32(bin216(Base32.encrypt(keyVlues[1],keyVlues[0])))+'"/>');varmyObj=$('<inputtype="hidden"name="myversion"value="'+window.helperVersion+'"/>');inputObj.appendTo($(form));myObj.appendTo($(form));deleteinputObj;deletemyObj;}}else{submitForm=function(){varkeyVlues=gc().split(':');returnkeyVlues[0]+",-,"+encode32(bin216(Base32.encrypt(keyVlues[1],keyVlues[0])))+":::"+'myversion'+",-,"+window.helperVersion;};}})();});

在loginForm里面增加了两个输入框,有key值、value值和myversion的值,key、value这两个值是通过调用gc().split(':')得到的,myversion值好像没做甚么验证。gc()方法到底干了甚么呢?来看1下gc()方法

functiongc(){varkey='MTAyOTA5';varvalue='';varcssArr=['selectSeatType','ev_light','ev_light','fishTimeRangePicker','updatesFound','tipScript','refreshButton','fish_clock','refreshStudentButton','btnMoreOptions','btnAutoLogin','fish_button','defaultSafeModeTime','ticket-navigation-item'];varcsschek=false;if(cssArr&&cssArr.length>0){for(vari=0;i<cssArr.length;i++){if($('.'+cssArr[i]).length>0){csschek=true;break;}}}if(csschek){value+='0';}else{value+='1';}varidArr=['btnMoreOptions','refreshStudentButton','fishTimeRangePicker','helpertooltable','outerbox','updateInfo','fish_clock','refreshStudentButton','btnAutoRefresh','btnAutoSubmit','btnRefreshPassenger','autoLogin','bnAutoRefreshStu','orderCountCell','refreshStudentButton','enableAdvPanel','autoDelayInvoke','refreshButton','refreshTimesBar','chkAllSeat'];varidchek=false;for(vari=0;i<idArr.length;i++){if($('#'+idArr[i])[0]){idchek=true;break;}}if(idchek){value+='0';}else{value+='1';}varattrArr=['helperVersion'];varattrLen=attrArr?attrArr.length:0;varattrchek=false;for(varpinparent){if(!attrchek){for(vark=0;k<attrLen;k++){if(String(p).indexOf(attrArr[k])>⑴){attrchek=true;break;}}}elsebreak;}for(varpinwindow){if(!attrchek){for(vark=0;k<attrLen;k++){if(String(p).indexOf(attrArr[k])>⑴){attrchek=true;break;}}}elsebreak;}varstyleArr=['.enter_right>.enter_enw>.enter_rtitle','.objboxtd'];varstylechek=false;if(styleArr&&styleArr.length>0){for(vari=0;i<styleArr.length;i++){vartempStyle=$(styleArr[i]);if(tempStyle[0]){for(vark=0;k<tempStyle.length>0;k++){if(tempStyle.eq(k).attr('style')){stylechek=true;break;}}}}}if(stylechek){value+='0';}else{value+='1';}varkeywordArr=[{key:".enter_right",values:["亲","抢票","助手"]},{key:".cx_form",values:["点发车","刷票"]},{key:"#gridbox",values:["只选","仅选","checkBox","checkbox"]},{key:".enter_w",values:["助手"]}];varkeywordchek=false;if(keywordArr&&keywordArr.length>0){for(vari=0;i<keywordArr.length;i++){varkw=keywordArr[i];if(fw(kw)){keywordchek=true;break;}}}if(keywordchek){value+='0';}else{value+='1';}if(value.indexOf('0')>⑴){aj();}returnkey+':'+value;}

首先是1个key值的声明,这个就是我们要的key值,value值的计算比较成心思,结果应当是1个4位的字符串,每位有0或1两个值,计算时找页面上的css属性,id属性,style属性和关键字属性,这4个属性对应结果中的4位,如果发现有对应的属性那末该位上为0,否则为1。这样计算的目的是为了过滤掉抢票助手或插件的提交,能找到插件的这些属性罗列出来也算是下了1番工夫了,所以12306的技术人员对市面上的抢票工具也非常熟习啊!矛和盾的故事好玩吗?回到主题,这里value计算的结果希望的值是1111,中枪的插件们应当怎样改知道了吗?赶快更新吧。

再看看第1段代码里拿到key和value以后加的第1个输入框,input框的name是key的值,这个很简单,value将拿到的key、value1起做各种加密、编码啊,看这句:

encode32(bin216(Base32.encrypt(keyVlues[1],keyVlues[0])))

具体做了甚么自己看脚本分析吧,我做的比较简单,拿到脚本中的key值,value值直接4个1,即‘1111’,履行1下脚本得到的结果就对了。

publicstaticStringrunSecretKeyValueMethod(Stringmark,StringjsStr)throwsFileNotFoundException,ScriptException{ScriptEngineManagersem=newScriptEngineManager();ScriptEnginese=sem.getEngineByExtension("js");se.eval(jsStr);Stringvalue=(String)se.eval("eval(\"encode32(bin216(Base32.encrypt('1111','"+mark+"')))\")");logger.info("secretvalue="+value);returnvalue;}

第3步、取得验证码并验证。登录时验证码图片对应的地址是这个https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand&

拿到图片是用ocr辨认还是手动输入自己选择吧,ocr辨认率还是偏低的,而且12306再来1次斗黄牛,出现奇葩的验证码就更不好辨认了。验证是不是正确的地址是:https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn,参数randCode:验证码的值,rand:sjrand(固定值)randCode_validate:()空

这里是1个验证码过期的结果,看到返回的格式就行了,这却的结果result应当是"1".

{"validateMessagesShowId":"_validatorMessage","status":true,"httpstatus":200,"data":{"result":"0","msg":"randCodeExpired"},"messages":[],"validateMessages":{}}

第4步、用户名、密码输入,验证码和第2步中的key、value值都拿到了,那末我们向12306发起猛攻吧,要求的地址和参数见下图:

红色框框起来的就是第2步取得的key和value值,这里有可能失败的,判断1下返回的结果,最近常常发现“非法要求”啊,如果发现非法要求了,重新取得key、value和验证码。这1步完成以后还没结束,最后还要要求1下这个地址:https://kyfw.12306.cn/otn/login/userLogin,参数就1个"_json_att",值为空。这样应当就能够登陆了。

这篇博客到这里才刚弄定登录,后面刷票、下定单之类的还有很多,渐渐更新吧,先到这里了。

还有,代码暂时还不稳定,先不开源了吧,后面还会做1些更改,有问题可以1起讨论,先看看人气高不高,帮我点“推荐”吧

博文出处:http://www.cnblogs.com/russellwang

儿童间歇性癫痫病医院那家好金华治疗白癜风那个医院好呀商丘市著名的羊羔疯专科医院

相关推荐