zoukankan      html  css  js  c++  java
  • 破解学校饭卡加密算法

    0x00 起因

    rtz在调试NFC时无意发现学校的饭卡是 Mifare S50 卡
    然而这种类型的卡片安全性非常低,互联网上有大量破解该类型卡片的工具
    所以rtz决定破解一下学校的饭卡练练手。

    0x01 工具

    ACR122U 读卡器一台
    无源全加密侦测卡一张
    此次破解的关键是无源全加密侦测卡。
    这种“黑客工具”非常难购买到,rtz是一年前机缘巧合购得一张。

    0x02 原理

    一般的IC卡加密方式是“一卡一密”
    也就是根据卡片的ID经过一个黑盒算法,得出该卡片的密码
    由于Mifare卡的设计不合理,导致了Mifare卡读卡器“无条件信任”放在它上面的卡片
    不管那张卡片是哪里来的,也不管是不是自己发行的卡
    只要检测到卡片,就向该卡片发送密码进行验证
    无源全加密侦测卡的作用是:伪造自己的ID,并记录下读卡器向自己发送的密码
    有了ID和密码,经过一系列头脑风暴,即可得出密码黑盒算法

    0x03 过程

    rtz将无源全加密侦测卡的id分别伪造为000000 000001 000002…
    然后持着侦测卡前往行政楼下的自助服务机器,将侦测卡放入读卡器
    待侦测卡获取自助服务机器“傻傻分不清”后发来的密码,再使用软件读出密码
    这样就有了ID和密码样本
    rtz一口气获取了十几组样本,经过一下午带晚上的计算,
    成功得出了ID到密码的加密算法

    这是rtz使用java编写的一个利用算法读取饭卡信息的程序

    0x04 后果和意义

    由于密码算法的破解,rtz可以读取任何一张饭卡存储的学号、姓名、身份证号等信息,
    还可以使用ID可改的UID卡直接伪造被读取信息的饭卡
    如果算法被居心叵测的人得到,任何基于饭卡进行交易的机器
    例如食堂的购饭机,会被伪造的饭卡欺骗地体无完肤

    后记

    破解加密算法的另一个好处是,rtz准备为实验室开发一套门禁系统
    若是门禁系统使用饭卡的加密算法,则可以直接支持全校的饭卡
    还可直接显示出持卡人姓名和学号
    一体化地非常完美~

    转载:https://www.ruitz.cn/?p=132

  • 相关阅读:
    Linux下SSH的Log文件路径
    Linux下压缩与解压命令tar
    Linux命令之at
    Linux下nice/renice命令小结
    Linux命令详解nice
    LVM---动态调整磁盘容量
    VT100字体
    Linux命令之WC
    for name in loop Shell
    Bind9用view配主从
  • 原文地址:https://www.cnblogs.com/ncepu/p/13694962.html
Copyright © 2011-2022 走看看