当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0144965

漏洞标题:智能卡热水表储值卡加密不严导致随意修改余额

相关厂商:深圳市凯路创新科技有限公司

漏洞作者: 路人甲

提交时间:2015-10-08 11:31

修复时间:2016-01-11 15:32

公开时间:2016-01-11 15:32

漏洞类型:默认配置不当

危害等级:中

自评Rank:10

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-10-08: 细节已通知厂商并且等待厂商处理中
2015-10-12: 厂商已经确认,细节仅向厂商公开
2015-10-15: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2015-12-06: 细节向核心白帽子及相关领域专家公开
2015-12-16: 细节向普通白帽子公开
2015-12-26: 细节向实习白帽子公开
2016-01-11: 细节向公众公开

简要描述:

该厂商生产的智能卡热水表应用于全国许多学校(其官网上展示的就有近百所)采用了目前已被破解的M1卡作为储值卡,且卡内数据没有进行加密,校验算法也极其简单,导致可以随意修改卡内余额。(测试用型号:RD-M750)

详细说明:

工具:ACR122u读写器一台、UID卡若干。
地点:成都信息工程大学宿舍
情报:
0,我校的热水卡是校园一卡通,采用了其中的一些扇区(宿舍三中心除外)。
1,热水钱包分为联网大钱包和不联网的小钱包,只有小钱包能在热水表上消费。
2,一卡通没有使用的扇区的密码为默认密码(FFFFFF)。
步骤:类似http://**.**.**.**/tips/2065
0,连接读卡器、安装驱动
1,将充值过热水钱包的一卡通放在读卡器上,使用mfocgui进行破译,半小时后破译、读取数据完成
2,将未充值热水钱包的一卡通放在读卡器上,重复步骤1。
3,对比两组数据,发现热水钱包位于第8、9、10扇区。
4,多次在热水表上刷卡消费,并读取卡内数据进行对比,确定第8扇区存储联网大钱包的数据,第9扇区存储不联网小钱包的数据,第10扇区存储最后使用的水表相关数据。
5,针对小钱包数据进行分析,发现第一二位是余额,倒数第4位是充值此时,最后一位是验证位(该块所有数据之和的后二位)。
6,进一步分析余额部分,发现(第二位×0xFF+第一位)/100既是卡内余额。
7,写入50元(0x8813)和最大值(0xFFFF)、写入相应的验证位,并尝试在热水表上进行消费,发现能够正常使用,余额与预期一致,也没有发出警报。
(各位领导、老师、辅导员,如果你们看到了这些东西,能不能不来跟我进行亲切交流;也不要来查我家水表。。行不)

漏洞证明:

1.PNG


图中黄色标出部分从左到右分别为余额、充值次数、验证位。为保护好自己的水表不被和蔼的校领导检查,将一卡通的饭卡部分全部清零、涂掉了卡的UID。
将该数据写入UID卡,刷卡成功并能正常使用。

2.png


修改数据如下图,刷卡显示余额50元,忘记拍照。

3.PNG


另外,该水表对暴力拆解没有进行防护,下图是他人拆解成功的证明

4.png

修复方案:

提供以下建议:
1,换用CPU卡
2,对卡内数据进行强加密
3,对整个系统进行联网数据认证

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-10-12 16:58

厂商回复:

暂未建立与设备生产厂商的直接处置渠道,待认领.

最新状态:

暂无