加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长资讯 > 评论 > 正文

技术讨论 | 看我如何破解一台自动售货机

发布时间:2018-11-09 01:08:08 所属栏目:评论 来源:clouds编译
导读:副标题#e# 声明:本文仅限技术讨论,严禁用于任何非法用途 毫无疑问,自动售货机是非常受欢迎的东西,我们总会从中购买获取一些小零食。早几年前,自动售货机只接受离线的硬币支付,之后,也慢慢采用了普及的NFC技术功能。如果我说起COGES售货机器 (英国售

从上图信息中可知,目标APP程序使用了手机的IMEI串号作为了上述SQLite数据库argenta.db的加密密钥,通常的手机,在键盘上输入*#06#就可得本身串号。那么,我们用手机串号来试试吧,看看能否能把数据库文件打开:

15.png

哇,真的可以啊:

16.png

经过一番检查,我找到了UserWallets这个表:

17.png

并对其中的walletCredit一栏做了修改,把它从0改为了5(5欧元):

18.png

然后,我再把这个数据库文件拷贝回手机APP中:

  1. # adb pull ./argenta.db /data/data/com.sitael.vending/databases/argenta.db 

破解验证

此时,YY一下,我的感觉就像游戏帝国时代(Age Of Empires)中的“罗宾汉”一样,可以随便拥有1000枚金币。好吧,还是先来写个小程序吧,通过这个程序,可以快捷地对目标APP数据库进行转储/恢复/篡改:

19.png

接下来,我们就带上手机,去自动售货机那试试看吧!呵呵,竟然成功地买了一瓶矿泉水,真的可以用其中的5块钱顺利地进行消费,还能反复消费使用!

https://www.youtube.com/watch?v=LfczO8_RfLA

总结

从APP账户中的0元,到之后破解APP数据库后,我可以进行以下操作:

  • 修改APP账户的金额
  • 任意购买自动售货机中的东西
  • 继续用余额购买
  • 余额为0之后可重新更改余额
  • 如此重复消费购买自动售货机中的商品

在对整个APP源代码做了大概分析之后,我发现其中的很多代码都未做混淆编码,这意味着,售货机厂商没有采取很好的措施来对用户数据和应用程序安全实行保护。

再三纠结 ,一个月后,出于白帽的心态,我还是向售货机厂商报告了这个漏洞,我也礼貌性地建议他们抛弃当前的APP架构,从头开发一个更好、更安全的程序。

【编辑推荐】

  1. 浅谈公共云安全三大认知误区
  2. 亚信安全与陕西移动签署合作协议 共建网络安全联合实验室
  3. 从索尼黑客起诉书看IT安全的5个经验教训
  4. 欺骗技术改变网络安全前景的5种方式
  5. WiFi不安全问题无解 升级到WPA3也没用
【责任编辑:未丽燕 TEL:(010)68476606】
点赞 0

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读