zoukankan      html  css  js  c++  java
  • 共享单车漏洞分析

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

    ——鲁迅

     

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

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

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

    锁,是一把好锁

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

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

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

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

    科普时间一

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

    工作原理

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

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

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

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

    有码农的地方就有江湖

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

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

    黑熊般一身粗肉,

    铁牛似遍体顽皮。

    交加一字赤黄眉,

    双眼赤丝乱系。

    怒发浑如贴刷,

    狰狞好似狻猊。

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

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

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

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

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

    脸如莲萼,

    唇似樱桃。

    两弯眉画远山青,

    一对眼明秋水润。

    纤腰婀娜,

    绿罗裙掩映金莲;

    素体馨香,

    绛纱袖轻笼玉笋。

    凤钗斜插笼云髻,

    象板高擎立玳筵。

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

    漏洞,又见漏洞

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

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

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

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

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

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

    后记

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

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

    最后干货

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

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

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

  • 相关阅读:
    CISCO 过载NAT配置(小型网络)
    CISCO静态路由配置
    CISCO 动态路由(RIP)
    CISCO 动态路由(OSPF)
    20191315 2.3.1测试
    cat userlist课上练习
    xxd
    2021-2022-1 20191315《信息安全系统设计与实现(上)》学习笔记6
    团队作业(二):需求分析
    2021-2022-1 20191315《信息安全系统设计与实现(上)》学习笔记5
  • 原文地址:https://www.cnblogs.com/bianchengniuren/p/9969773.html
Copyright © 2011-2022 走看看