前几天看到浙江电信网上营业厅在搞签到得米粒的活动,每天可签到一次,每次获得一个米粒,首次签到可以获得21个米粒。
我玩了几天,发现了它的一个BUG。我们先看看页面,地址是http://zj.ct10000.com/qiandao
  点击后就变灰了,当天就不能再次点了,如下图所示:

先来看看页面代码吧,用开发人员工具很容易就找到下面这个JS方法

注意红框的代码,它是根据前台传过去的参数来判断是否首次登陆。那么如果我们每次都传“登陆首次积分”这个字符串过去呢?
测试一下,先要登陆网上营业厅,然后在签到页面执行如下JS代码

$j.post('/zjpr/score/qiandao/checkin.html', {'type': 'WT_SIGNIN', 'name': encodeURI('登录首次积分')}, function(data){alert(data);
});

接着查询一下米粒数量看看:

果然是多了21个,说明它后台没做验证。这时如果再次执行就没效果了,因为后台做了同一天只能签到一次的验证。
那么如果在还没签到的时候,同时执行多次上面的JS代码,会怎么样呢?试验一下,执行如下代码:

for(var i=0;i<10;i++){
$j.post('/zjpr/score/qiandao/checkin.html', {'type': 'WT_SIGNIN', 'name': encodeURI('登录首次积分')}, function(data){});
}

同时提交10个请求,看看后台是如何处理并发的。查询一下

存在了多条记录,米粒数从165涨到了249。说明后台没对代码加锁(C#中的lock,JAVA中的synchronized),导致存在并发问题。

结论:首先还是那句话,前台验证看需要,后台验证不可少;其次是建议对有特殊限制的操作的相应代码加锁,可以对session中的对
象加锁,这样既限制了同一用户的并发操作,又不影响其它用户。

续:刚才又找到一个漏洞,可以直接无限刷米粒。原理是这样,在签到页面有分享链接,可以分享到人人、开心等网站,分享一个
获得一个米粒。但是后台没有对分享的名称做过滤,于是我传了一个随机数过去,也分享成功,获得了一个米粒。JS代码如下:

$j.post(basePath+'zjpr/score/qiandao/checkin.html', {"type": "WT_SHARE", "channel": Math.random(), "name": encodeURI("分享渠道积分")}, function(data) {});

然后写个循环,你们懂得。我现在已经有1500多个米粒了

我已经把BUG报给在线客服了,能不能快速处理掉就看电信的办事效率了。

转载于:https://www.cnblogs.com/jintianhu/archive/2011/08/28/2156372.html

浙江电信网上营业厅的一个BUG(有更新)相关推荐

  1. 电信网上营业厅用户自服务系统的设计与实现

    技术:Java.JSP等 摘要: 本文在对目前各种网上营业厅的功能原理进行了分析后,在山西省移动公司实习期间,为保证电信网上营业厅系统中心数据库的安全,设计了一个具有三层结构的网上营业厅,以web页面 ...

  2. Java、JSP电信网上营业厅用户自服务系统

    技术:Java.JSP等 摘要: 本文在对目前各种网上营业厅的功能原理进行了分析后,在山西省移动公司实习期间,为保证电信网上营业厅系统中心数据库的安全,设计了一个具有三层结构的网上营业厅,以web页面 ...

  3. 【惊爆】中国移动网上营业厅出现重大BUG

    今日,本人在无意中登录中国移动网上营业厅:sd.10086.com,出现重大bug,具体截图如下: 首先,先用一个号码:150****6908登录后:截图如下: 然后,点击"退出" ...

  4. 中国电信服务器密码怎么修改密码,电信网上营业厅怎么改服务密码 修改或重置方法...

    获取途径一:直接拨打电话 每个手机运营商都有自己的自助语音电话,通过拨打此号码按照提示进行操作,我们就可以修改新的服务密码,这是*快捷的方法,电信直接拨打10000然后按照语音提示一步步操作即可: 获 ...

  5. 我所体验到的中国电信网上营业厅

    昨天出差回来,发现家里的宽带因为欠费被停了.浏览器提示页面说宽带服务已经到期,可以在线付费或者到营业厅缴费云云. 初探 印象中电信宽带在服务到期之前会提示,这次什么提示都没有,所以就拨 10000 号 ...

  6. 一个bug管理软件:BugFree

    一个bug管理软件:BugFree BugFree的发展目标:代替BugZilla和Mantis,成为最流行的Bug管理系统! 关于BugFree 作者:刘振飞 Email: liuzf at pku ...

  7. 如意133号码不能查询话费不能登录网上营业厅

    如意133号不能打电话详单这一点凡是使用133号码的人都认了,因为没有月租费和其他消费还带来电显,这些都足够吸引人 可是电信营业厅自从完善以来,133号码不能登录,不能在手机上开通任何增值套餐业务,甚 ...

  8. 从一个Bug开始,重新认识一个强大的 Gson

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者:Mafly, 地址:www.cnblogs.com/mafly/p/gson.html 从 ...

  9. 关于LB论坛的一个BUG的探讨

    关于LB论坛的一个BUG的探讨 ( 作者:mikespook | 发布日期:2003-12-8 | 浏览次数:406 ) 关键字:漏洞,论坛,LB 现在网上用雷傲论坛的人很多.大家普遍觉得雷傲论坛用起 ...

最新文章

  1. 环境微生物期刊—FEMS Microbiology Ecology
  2. R语言str_trim函数去除字符串中头部和尾部的空格
  3. 关于范式的一些简单理解
  4. Linux下构建FTP服务器
  5. python vs java 搞笑视频_Python VS Java,谁能笑到最后?
  6. Android之给控件添加水纹波效果
  7. java 生成条形码_Springboot生成二维码,怎么搞?
  8. Android lollipop 更新问题
  9. 网络教育源码 java在线教育源码
  10. 夯实Java基础系列21:Java8新特性终极指南
  11. input隐藏边框、设置透明背景色
  12. 物联网安全综述报告之感知层认证机制
  13. JavaWeb笔记02(数据库)
  14. Phaser学习笔记
  15. 初学者这样玩 TypeScript,迟早进大厂系列!
  16. oracle 提取中文字符串拼音首字母函数,拼音简码提取函数
  17. 关于无刷电机驱动器的布板建议(FOC)
  18. 淘宝京东类电商评论标签化的思路
  19. 谁动了我的奶酪:奶酪墙上的话 ----- 总结精典篇
  20. jmeter之Json断言使用方法

热门文章

  1. oracle 生成 sql语句,Oracle使用SQL语句生成日历的实现方法
  2. 如何在html网页中嵌入一段语法高亮的代码?_工程师私藏的代码比较工具,好用!...
  3. php串行化场景,PHP中串行化的使用
  4. c语言发展过程,C语言发展史
  5. java中位运算传参_java基础之位运算讲解于实战
  6. JAVA 定义全局常量码表_【Java基础】java常量是什么?
  7. VB讲课笔记02:VB程序开发环境
  8. Java案例:简易记事本
  9. 【codevs30521022】多米诺覆盖,二分图
  10. java oauth2搭建_Spring Security 实战干货:OAuth2授权请求是如何构建并执行的