漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0104794
漏洞标题:成都地铁公交卡可被无限复制篡改从而可免费出行(射频卡设计安全隐患)
相关厂商:CNCERT
漏洞作者: Ano_Tom
提交时间:2015-03-30 17:12
修复时间:2015-07-02 15:32
公开时间:2015-07-02 15:32
漏洞类型:设计不当
危害等级:高
自评Rank:20
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-03-30: 细节已通知厂商并且等待厂商处理中
2015-04-03: 厂商已经确认,细节仅向厂商公开
2015-04-06: 细节向第三方安全合作伙伴开放
2015-05-28: 细节向核心白帽子及相关领域专家公开
2015-06-07: 细节向普通白帽子公开
2015-06-17: 细节向实习白帽子公开
2015-07-02: 细节向公众公开
简要描述:
继上次免费用水、吃饭后,这次该免费出行了,很简单的M1卡设计缺陷,可将卡数据无限复制篡改,且使用时,各卡金额互不影响。
详细说明:
初始过程为,天府通卡。充值电子钱包10.20,充值公交次数6次(刷卡金额提示12元,2元一次)。刷地铁是消耗的电子钱包,分段计费。刷工具有时是按次数计费(冲6次,刷卡会提示有12元,此12元不是电子钱包的余额),有的公交是扣的电子钱包的钱(刷卡提示的金额为电子钱包的余额)
详情如下
复制卡如图
关于算法缺陷等等问题,请自行查看国外相关paper。我们只需要证明公交卡可以被读取全卡数据,且卡可被无限复制,而且其在刷卡过程中并未进行网络验证即可。
读取的初始卡信息为
同时将数据写入白卡里(可改uid,可多次擦写)。
上午公交测试:
初始刷的白卡,消耗的为公交次数
消耗1次公交次数,剩余10元
然后刷了原卡,消耗了1.8元,其消耗的是电子钱包,剩余8.4元。
由于上午测试,有两张未拍到照片,所以将复制卡也消费了1.8元电子钱包,使其金额也为8.4元,与原始卡金额相同。转而下午进行测试。
下午测试,从地铁口刷卡,然后直接在出口刷,如图
复制卡,入口:
直接出口刷:
此时余额为6.6元,即一站的地铁花了1.8元
测试原始卡,入口:
出口
也花费了1.8元,剩余6.6元。两张卡的金额互不影响。其在初始状态并未联网进行数据的确认。
测试公交:
原始卡(未拍到卡):
在之前6.6的基础上消费了0.9元
然后测试复制卡:
同样可以使用。
综上,卡信息可被完全读取,再消费完毕后,可以将卡的信息继续写入,从而可以无限使用。在消费过程中卡数据并未联网认证。在消费了几次后,去柜台充值,依然可以正常使用。当然,财务汇总对账的时候是否会出现异常,并不清楚。
漏洞证明:
如上。注:以上的消费均为善意地安全测试,如封卡请查看图片的卡号以及uid序列号
修复方案:
升级卡
版权声明:转载请注明来源 Ano_Tom@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2015-04-03 15:31
厂商回复:
CNVD未直接复现,已经转由CNCERT下发给四川分中心,由其后续协调网站管理单位处置。
最新状态:
暂无