首页 文章 精选 留言 我的

精选列表

搜索[无线设备],共10001篇文章
优秀的个人博客,低调大师

玩转无线电 -- 温哥华天车 RFID 票务系统

0x00 前言 如今物联网 RFID系统已经完全融入了我们的生活当中. 从楼宇门禁到 Apple Pay. 可以说其身影是无处不在.很多网友也分享了自己对RFID系统的安全测试心得.不过大多还是基于门禁卡和 Mifare-Classic 而言. 实际上在 Mifare 系列的大家族中还有着许多其他类别. 比如 Mifare-DESFire 和本文的主角 Mifare-Ultralight. 温哥华交通公司Translink 在 2015年开始逐渐淘汰老旧的打印票务系统. 并全面推广RFID为基础的票务系统, 并为其取名为 Compass. 此系统为了方便不同乘客的需要, 使用了Mifare-DESFire 作为月票卡. 同时还以Mifare-Ultralight 作为一次性车票.因 Mifare-Ultralight 成本低廉, 使其成为车票的不二之选. 但也正是为了节省成本, 其安全性近乎于零. 它的天生残疾为攻击者打开了一道方便之门.本文将以此轻轨RFID 票务系统为例, 跟大家一起来场RFID 系统的探索之旅. 0x01 Mifare-Ultralight 简介 Mifare-Ultralight 是 NXP 公司出品的众多Mifare系列中的一款. 其同样工作在 13.56 Mhz. 但跟它的老大哥 Mifare-Classic 不同的是, 它并无使用任何加密, 其数据内容是可以任意访问的. 因为造价低廉很多需要一次性门票的场合都将其作为首选.比如 2006 的世界杯比赛.其数据结构非常简单明了. 总共 64 bytes. 分为16 个区, 每个区为4 bytes. 而 4 - 15 区通常会用于数据存储, 存有时间; 入口和站台名等. 值得一提的是此区可任意读写无需认证哦. ;) UID区 其 UID 区在默认情况下是不可写的. 占有 9 个 bytes, 但只有 7 个bytes 作为 UID 使用. 比如 “ 04 e2 a8 c6 ba e2 43 80 9b ” 其中只有 04 e2 a8 ba e2 43 80 被识别为UID, 而 c6 和 9b 是作为校验值 Check Bytes 存在的. OTP 区 前面提到Ultralight 的安全性近乎于零, 是因为它设有这个One time programmable 区. 整个区分为 4 bytes, 默认数值为 00 00 00 00. 通常将其作为为车票的计数器使用. 通过 01 对每个 bits 进行 OR 不可逆运算. 直到 00 全部用完车票作废.不过这个OTP 也是可以通过激活 Lock Byte 来 bypass. 因为 Compass 系统并无使用OTP , 所以无做此测试. 0x02 实战测试 — Single Fare Reset Attack 需要事先声明整个测试过程使用的是预先支付的车票. 并仅是在车站入口处测试了 Reset 攻击, 并无实际逃票行为. 所以不要担心会发生被请喝茶的悲剧. 而且在下也反对滥用此类技术来做坏事... :p "> 其实整个攻击过程非常简单. 因为Data 区可任意读写无需认证. 所以我们可以事先 dump 出 Compass 车票的原始数据. 等车票过期无法使用后, 用手机 APP 将原始数据写回车票. 从而实现 Reset 攻击, 达到系统绕过目的. :) 整个攻击过程出奇的简单对吗? 而从 Translink 的角度来看, 又有哪些防御方案呢? 其实 NXP 公司早就提供了3DES加密的 MIFARE Ultralight C. 不知道为什么 Translink 在系统设计之初不考虑呢? 0x03 总结 最后要感谢在整个研究过程中提供过帮助的弟兄们. 同时在下认为系统安全加固, 有时也取决于自身对问题的态度. 出了问题不积极修复, 却试图将问题隐藏. 并寄希望于掌握了解方法的人越少越好. 这是十分不明智的处理态度. 在这里强烈鄙视温哥华交通公司 TransLink. 在漏洞曝光后明知系统存在隐患的情况下仍放任不理. 当记者采访时还摆出一副有种你咬我的嘴脸. 那好吧 May the luck be with you…FXXK YOU…Now we all know how to hack you.. 0x04 参考文献 http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf https://www.youtube.com/watch?v=Czvn4L1r6f4(Building safe NFC system --30c3) http://www.cbc.ca/news/canada/british-columbia/compass-ticket-hack-1.3535955 http://bc.ctvnews.ca/security-flaw-lets-smartphone-users-hack-transit-gates-1.2852464 https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2012/september/ultrareset-bypassing-nfc-access-control-with-your-smartphone/

优秀的个人博客,低调大师

js识别设备

console.log(window.navigator); Navigator 对象属性 appCodeName返回浏览器的代码名。 appMinorVersion返回浏览器的次级版本。 appName返回浏览器的名称。 appVersion返回浏览器的平台和版本信息。 browserLanguage返回当前浏览器的语言。 cookieEnabled返回指明浏览器中是否启用 cookie 的布尔值。 cpuClass返回浏览器系统的 CPU 等级。 onLine返回指明系统是否处于脱机模式的布尔值。 platform返回运行浏览器的操作系统平台。 systemLanguage返回 OS 使用的默认语言。 userAgent返回由客户机发送服务器的 user-agent 头部的值。 userLanguage返回 OS 的自然语言设置。 Navigator 对象方法 javaEnabled()规定浏览器是否启用 Java。 taintEnabled()规定浏览器是否启用数据污点 (data tainting)。 // 判断pc端还是移动端 function isPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; var flag = true; for (var i = 0; i < Agents.length; i++) { if (userAgentInfo.indexOf(Agents[i]) > 0) { flag = false; break; } } return flag; } // 判断用户移动端使用的系统平台 function isMobile() { var u = navigator.userAgent; if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) { return "Android!"; // 安卓手机 } else if (u.indexOf('iPhone') > -1) { return "iPhone!"; // 苹果手机 } else if (u.indexOf('iPad') > -1) { return "iPad!"; // iPad手机 } else if (u.indexOf('Windows Phone') > -1) { return "Windows Phone!"; // winphone手机 } else { return false; } } // 判断用户是否在微信中打开 function isWeChat() { // toLowerCase() 方法用于把字符串转换为小写。 var ua = navigator.userAgent.toLowerCase(); if (ua.indexOf('micromessenger') != -1) { return true; } else { return false; } } document.write("是否PC:" + isPC() + "<br/>是否移动端:" + isMobile() + "<br/>是否微信:" + isWeChat()); GitHub:Fuck me on GitHub 留下你的足迹求推荐呦

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册