网上买火车票网站的Bug,实在是留给程序员的福利

年关将近,又到了春运时间,火车票自然是这段期间最紧俏的资源了。与以往几十年不同的是,今年开通了网络购票、电话订票和真正的实名制功能。其中最让码农眼前一亮的就是网络购票功能了。写了那么多年的程序,终于有用武之地了。

我作为一个码农,写这方面的程序,算下来已经有7年历史了吧。最早的时候是在大学做选课程序(准确的说应该是抢课程序),后来帮同学做刷票程序,再到后来做WebGame的外挂,各种抓包分析程序,一个个网络应用程序还是让我记忆犹新。现在买火车票也能够通过网络实现,那么当然也可以写个程序实现登录、查询车票、下订单这些功能了。

最近项目刚上线,Bug一堆,工作比较忙,再加上我是坐飞机回家,不买火车票,所以也没有那么大的动力和那么多的时间来开发这个程序了。程序写了一半,登录实现,查询实现,就剩下下订单功能和支付功能了,不过支付功能我觉得可能有难度,具体还没有试过,毕竟这东西是需要在IE下真的付款,然后抓包分析的,所以也不好调试。

我的程序虽然没有完成,不过网上已经有不少码农放出了自己完成的程序,比如这几个

GoHome:http://code.google.com/p/go-home/
德广火车票助手:http://www.appinn.com/12306-auto-login-client/
12306 订票助手:https://github.com/zzdhidden/12306
12306.cn 网络购票助手:http://www.u-tide.com/fish/soft/44/

等等。

我个人比较推荐的是12306 订票助手:https://github.com/zzdhidden/12306 这个程序其实很简单,是基于JQuery的一个JS文件,在Chrome中运行效果很好,正好我用的也是Chrome。

这些程序其实原来都是差不多的,主要的还是利用了12306系统中的一个Bug,实现了不断重试提交数据,直到成功。这个Bug就是在用户提交验证码进行比对的时候,没有在比对后重置验证码,导致接下来重新提交数据时,使用同一个验证码就验证通过了。这个Bug其实修复起来很简单,我在3年多前的博客中就已经提到过该Bug和修正,参见:http://www.cnblogs.com/studyzy/archive/2008/06/04/1213192.html

另外还有一个问题就是现在的验证码实在太简单了,没有什么混淆,很容易通过程序识别出来。

毕竟这也是铁道部第一次做电子商务,虽然有很多不足之处,但是能够主动改变现状,还是让人感到欣慰。希望网络购票的这个Bug一直保留着,下次我买票的时候也可以利用这个Bug刷票,这真是铁道部留给广大程序员门的一点福利!最终大家有家都能回!

 

【出自博客园深蓝居,转载请注明作者出处】
标签: 验证码
posted @ 2012-01-10 18:02 深蓝 阅读(7359) 评论(21) 编辑 收藏

 回复 引用 查看   
#1楼 2012-01-10 18:14 江之北      
关注一些
“这个Bug就是在用户提交验证码进行比对的时候,没有在比对后重置验证码,导致接下来重新提交数据时,使用同一个验证码就验证通过了。”
学习了。

 回复 引用 查看   
#2楼 2012-01-10 19:06 waninlezu      
而你 把这福利给毁了
 回复 引用 查看   
#3楼 2012-01-10 19:12 TryCatch      
@waninlezu
哈哈

 回复 引用 查看   
#4楼 2012-01-10 19:13 沈融兴      
祈祷铁道部别看到关于这个bug的文章吧...哈哈...
 回复 引用 查看   
#5楼[楼主] 2012-01-10 19:14 深蓝      
@waninlezu
已目前网站这么大的访问量,这么大的压力,这个福利至少应该可以持续到这个春运结束

 回复 引用 查看   
#6楼 2012-01-10 19:47 八戒Done      
人家民工已经很不容易了,还要分享这种祸害人啊!这样不断刷又没有在技术上有什么改进,就是搞得大家都在排队!!有空的就去车站买,有钱的就去买机票!
 回复 引用 查看   
#7楼 2012-01-10 19:48 八戒Done      
其实我觉得12306把数据接口开放,让人人、腾讯、淘宝加入,网上订票不是问题。当然咯,供给远远小于需求才是最根本的原因!强烈建议 学生潮跟民工潮分开,高校提前半个月放假都没任何问题!
 回复 引用 查看   
#8楼 2012-01-10 20:12 Seen_      
这个网站不是铁道部做的,是1600W包给太极股份和网宿科技的。。
http://finance.southcn.com/jrcj/content/2012-01/10/content_36215407.htm

 回复 引用 查看   
#9楼 2012-01-10 20:51 ForEvErNoMe      
@Seen_
这垃圾网站值1600w!!

 回复 引用 查看   
#10楼[楼主] 2012-01-10 21:42 深蓝      
@八戒Done
我不认为这种刷票的程序会影响民工买票,民工中会上网的本来就不多,会网购的就更少了,而且还开通了网上银行的就更少了。只有合理分配出票比例,解决运能不足问题,才能解决问题。

 回复 引用 查看   
#11楼 2012-01-10 21:57 Repository      
引用八戒Done:其实我觉得12306把数据接口开放,让人人、腾讯、淘宝加入,网上订票不是问题。当然咯,供给远远小于需求才是最根本的原因!强烈建议 学生潮跟民工潮分开,高校提前半个月放假都没任何问题!

分流的确是个好方法,但是人家肥水不愿意流外人田呀!
这里面有巨大的利益链在里面,大家都懂的!

 回复 引用 查看   
#12楼 2012-01-10 22:25 八戒Done      
@深蓝
会上网的多不多不好说,但是可以肯定的是不会的都在尝试网上购票,这就已经够了~~刷票的意义何在?自己人扇自己人而已!

 回复 引用 查看   
#13楼 2012-01-11 09:33 gws      
这就好比本来路就赌,还要多拉上几辆空车,有意义吗
 回复 引用 查看   
#14楼 2012-01-11 10:28 waninlezu      
引用八戒Done:其实我觉得12306把数据接口开放,让人人、腾讯、淘宝加入,网上订票不是问题。当然咯,供给远远小于需求才是最根本的原因!强烈建议 学生潮跟民工潮分开,高校提前半个月放假都没任何问题!

Too Young Too Simple

自己赚的钱 分给别人赚.你当他们2啊,
大家都是要 赶到 过年前夕回家.分得开么?分得开么?

 回复 引用 查看   
#15楼 2012-01-11 10:35 waninlezu      
引用深蓝:
@waninlezu
已目前网站这么大的访问量,这么大的压力,这个福利至少应该可以持续到这个春运结束


已目前网站这么大的访问量,这么大的压力,这个福利一经宣扬扩大 推导出 =>
谁都别想买到票.

以前用这些 插件 重试10次左右即可登陆,现在得到100次,
手动登陆成为不可能,彻底封死了那些 IT 盲的购票之路
这些插件到底是带来了便利还是?

 回复 引用 查看   
#16楼 2012-01-11 10:41 八戒Done      
@waninlezu
为什么钱分给别人赚就是二了,再说也得看什么钱。
每次看到社会风气就是唯钱至上,不知道该说什么!
其实大学生也狠愤青的,但是我现在感觉换了谁上台还不一样!很多时候,我们都是自己扇自己。说不定换了你我上台更变本加厉!
另外,为什么分不开!现在的高校教育,说实话早放半个月一点影响也没有!我又没说你们工作的分流,我说我们学生寒假延长半个月,提前放啊!

 回复 引用 查看   
#17楼 2012-01-11 11:56 博客- 博客      
@Seen_
让我也非常置疑的是耗资千万,最后搞出这么个东西来,没有性能测试,直接千万,不知道是铁道部有钱还是什么,就这还上市公司的水平,博客园里众多高手,我想写个这程序也用不了千万,效果吗最多也就是登不上去,提交不成功,有几个bug而已,那么所谓的千万做何用处了?

 回复 引用 查看   
#18楼 2012-01-11 17:18 小龙3      
这个网站如何是自己写会如何写呢??
 回复 引用 查看   
#19楼 2012-01-11 17:53 itboy      
@ForEvErNoMe
据说软硬件一起花了五千多万

 回复 引用 查看   
#20楼 2012-01-12 09:55 E猫      
请教下楼主:12306订票助手为什么进入12306网站后,这个组件就可以检测得到,进而有相关提示。而打开其它网站就不起作用呢?
 回复 引用 查看   
#21楼 2012-01-12 14:13 hyd309      
同是程序员,差距咋就这么大呢

我要啦免费统计