码迷,mamicode.com
首页 > 其他好文 > 详细

共享单车漏洞分析

时间:2018-11-16 17:42:39      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:com   脉冲   bsp   测试   手动   无法   无线   码农   时代   

惯于长夜过春时,挈妇将雏鬓有丝。
梦里依稀慈母泪,城头变幻大王旗。
忍看朋辈成新鬼,怒向刀丛觅小诗。
吟罢低眉无写处,月光如水照缁衣。

——鲁迅

 技术分享图片

时代变化之快,让人目瞪口呆。

谁能想到一千年之后,拳打镇关西的鲁提辖,开了一家粥粉面店。用自家杀猪的的肉,开自家店,自产自销,本也无可厚非。

然后令人吃惊的是,当年杀人不眨眼,胸前挺着一对金字招牌肉包子的孙二娘,竟然不卖人肉包子了,改行卖起了一种锁。这个锁号称固若金汤,无人能破。因为,它根本就没有锁孔!

锁,是一把好锁

为了证明这把锁是一把好锁,孙二娘广发英雄帖。悬赏:谁若能打开此锁,孙二娘将如花似玉的女儿相赠,另送比特币一万枚。

武林顿时像炸了锅一样,沸腾了起来。各路锁匠来了一拨又一波,但无一不望锁兴叹。因为没有锁孔,个个都像老鼠咬龟,无从下口。于是又人质疑这把锁不能正常使用。

只见孙二娘冷笑一声,从胸前的人肉大包子中间掏出一部爱疯手机,轻轻一点上面的APP,只听见清脆“叮”的一声,锁应声打开。

锁匠们顿时目瞪口呆。这是什么鬼,这么先进?真是闻所未闻。

科普时间一

孙二娘用的其实是一把云锁。通过手机APP,登陆云服务器,向锁发送云开锁指令,最后把锁打开。

工作原理

生产锁的时候,工匠们会向锁的flash写入设备ID,我们简称为DID。锁由内置电池供电,上电和正常工作的时候,锁会自动连接到云服务器,建立长连接。因为云服务器都有固定的IP,所以这一点不难理解。

为了保持长连接,锁必须定时向云服务器上报心跳脉冲信号。一旦心跳信号没有得到正确的回复,锁马上切换到定时重新连接服务器模式。为何是定时而不是不断尝试连接呢,主要的原因是为了省电。每一次尝试连接都会发出无线信号,消耗一定的电能。

既然是一把云锁,根本就没有锁眼,所以传统的锁匠自然不能把它打开。

孙二娘的锁因此名声大噪。江湖上的共享单车厂商纷纷找孙二娘合作,孙二娘真是赚的盘满钵满。

有码农的地方就有江湖

此事惊动了地球上的第三物种——程序员。程序员作为男人和女人之外的第三物种,并非浪得虚名。平日里一直忙于加班的程序员,得知这一消息之后,喜出望外,认为改变码农命运的时候到了。大魔王锋哥带领他的程序员兄弟们粉墨登场。

一日,孙二娘正在她的锁铺里面乘凉。店外忽然传来一声大喝:“我呸,孙二娘快快出来?”孙二娘心中一顿骂,心想那里来的泼猴,莫不是又是不知天高地厚来开锁的吧。出门一看,大吃一惊,只见那厮:

黑熊般一身粗肉,

铁牛似遍体顽皮。

交加一字赤黄眉,

双眼赤丝乱系。

怒发浑如贴刷,

狰狞好似狻猊。

孙二娘心里一哆嗦,此人不就是大魔王锋哥的大弟子倪震天?于是,赶忙走上前。心想,锋哥已经退隐江湖好多年了,难道今天要来踢馆?

正在思索,门外忽然传来一阵爽朗的笑声:“孙二娘,今天让我来开开你的锁。” 声音刚还在千里之外,人忽然就到了跟前。孙二娘定睛一看,来人羽扇纶巾,果然是锋哥。锋哥带着他的程序员兄弟,今日来破孙二娘的锁。

孙二娘一声招牌式冷笑:“老娘的锁也不是那么好破”。锋哥打断了她的话,说:“孙二娘,我等想在开锁之前,验验你的赏品,是否可以。”

孙二娘说:“所有来开锁的人都一视同仁,当然可以。”

于是呼出她的女儿,端是长的好看。有诗为证:

脸如莲萼,

唇似樱桃。

两弯眉画远山青,

一对眼明秋水润。

纤腰婀娜,

绿罗裙掩映金莲;

素体馨香,

绛纱袖轻笼玉笋。

凤钗斜插笼云髻,

象板高擎立玳筵。

锋哥大喝一声:“我呸,我等程序员每晚都要加班,哪有空理你这妖女。”快把比特币拿出来验一验。

漏洞,又见漏洞

验完比特币之后,孙二娘冷冷的说:“想你锋哥,也是江湖响当当的人物,今天莫要把招牌砸在我这里了。”

锋哥也不答话,在认真的研究起了孙二娘的锁。忽然抬起头来问孙二娘:“你的锁,可以远程通过APP来打开,是否可以通过APP关闭?“ 孙二娘说:”不能,我的锁只负责打开,不负责关闭。如果要关闭,需要用户现场手动关闭。“

锋哥说:”如果用户用完了共享单车,忘记锁了,或者锁了但是信号没有发送到服务器,怎么办?“ 孙二娘得意的说:”可以通过手机APP,结束计费!“

锋哥一字一顿的说:”如果,所有的用户结束骑行之后,都不锁单车,都通过APP来结束计费,会怎么样?“

孙二娘突然大汗淋漓,嘶声道:”所有的单车,车锁都会被打开,变成真正的共享单车。“

锋哥拿起桌上的比特币,问孙二娘:“我是不是可以走了”,孙二娘瘫坐在地上,无力的点了点头。锋哥带着他的程序员兄弟,从孙二娘女儿的面前走过,头也不回的走了。

后记

文章写的比较俏皮,但是共享单车的漏洞说的都是事实。因为锁是单向的,只能远程开启,但是不能通过远程关闭。而且,因为信号覆盖的问题,有些地方会没有信号,所以共享单车的APP必须要留一个接口来结束计费。这就造成了一个无法弥补的漏洞,就是当所有的人用完单车,都通过APP结束计费,那么所有的共享单车,只要用一次,就可以一直处于开锁的状态。就成为了真正意义上的“共享单车”。

当然,我相信以我们的素质,这样的事情应该不会发生。

最后干货

现在包括摩拜单车在内,都是免押金使用单车的,但是我发现很多人都不知道。如果你还有押金在共享单车的账户,可以把押金退回,也一样可以使用共享单车哦。另外,锋哥已经模仿孙二娘的锁的原理,写成了一个例子程序,你也可以亲自测试哦。

技术分享图片

PC端测试的电脑软件下载地址为:

https://pan.baidu.com/s/1wSZKnyXgARrylQxhDdPePQ

共享单车漏洞分析

标签:com   脉冲   bsp   测试   手动   无法   无线   码农   时代   

原文地址:https://www.cnblogs.com/bianchengniuren/p/9969773.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!