某智能设备固件解密

获取固件

拿到硬件设备的第一个想法就是获取固件。通常来说获取固件有三种方式:从设备官方网址下载,抓包固件升级过程,从设备固件存储器中获取。

此设备的官网提供在线升级的功能,升级过程需要读取硬件的一些基本信息,而此设备恰好不被支持。抄起工具把网站日了下来,却发现网站上只提供其他型号的升级包,而且是加过密的。于是只能从现有的设备入手了。

观察电路板,发现板子上主控芯片为ATMEL SAMA5D2系列的芯片,无明显的UART和JTAG接口,存在SOP8封装的型号为N25Q032A的Flash芯片。所以固件只能从Flash里读取出来了。

从Flash里读固件第一步是把芯片从板子上焊下来,对于SOP8封装的芯片建议用电风枪吹下来,血泪教训告诉我们,用电烙铁非常容易把芯片弄坏。

把Flash芯片焊下来之后就是从芯片里读取固件内容了。这里推荐用编程器来读,淘宝一两百人民币就能买到。我们也尝试过用FlashROM来读,但是有时候会很不稳定,对于有的型号并不能完整的将Flash读出来。

查看更多

分享到 评论

SESSION 中的手机验证码

之前在检测某网站的时候发现了一个好玩的逻辑问题,可以在更换手机号的时候,可以不用原手机的验证码解绑,只需要新手机接收验证码就能绑定手机。

漏洞的成因是新旧手机的验证码在 session 中用同一个变量名存储,更换手机号的时候运行越过前面几步直接向新手机发送短信验证码。此时新手机的短信验证码就被当成了第一步解绑老手机时发往老手机的验证码,导致攻击者可以直接用自己的手机绑定到受害者的账号上。

查看更多

分享到 评论

关于联通机顶盒

装联通宽带送了个机顶盒,没啥用,只能看一些收费的节目。看起来是个安卓的盒子,那就搞一搞吧。

ZTE机顶盒

第一次送的机顶盒是中兴的,有个现成的工具可以开启adb,直接搞定。

工具下载

顺便提取出来的还有一些奇怪的网站,可以下到所有版本的固件,附后。

查看更多

分享到 评论

php里的随机数

这次来填一个关于php随机数预测的坑。php5和php7中的随机数产生机制已经大有不同,本文将详细讲一讲这些区别和爆破种子的时候会产生的问题。

php中常用的随机数产生函数是rand()mt_rand()。下面将针对这两个函数展开。

查看更多

分享到 评论

CDN安全小结

CDN作为反向代理服务器,除非操作系统或者反向代理软件爆出严重的漏洞,其本身是不存在较大的安全问题的。扫描CDN服务器的端口往往会发现只开了80(http)和443(https),而这两个端口又不运行动态脚本,作为攻击者很难从这里下手。

尽管CDN服务器看起来固若金汤,但是攻击CDN可以从CDN运行逻辑入手。CDN安全主要出现在环路攻击上,一旦流量形成环,则整个CDN会带着流量不断消耗自身的资源,造成拒绝服务。

查看更多

分享到 评论

基于csv的信息泄露已死

前几天做33c3 ctf中的一道web题vault,遇到了一个比较好玩的前端的思路。

题目是一个用户管理系统,用户可以存储一段secret在数据库里。在联系管理员的页面可以提交一个网址,后台会用phantomjs去访问这个页面。
题目能通过文件包含漏洞拿到源码,并发现有一个管理员的后台页面可以导出用户的信息以及用户存储的secret。题目的目标是拿到管理员的secret。

查看更多

分享到 评论

CodeIgniter 框架阅读

对web框架的安全,我主要关注了以下方面。

  • 开发者如何拿到输入,框架对输入的处理方式
  • 框架如何处理路由
  • 框架如何封装数据库查询
  • 框架对常见操作的处理(session,文件上传)

阅读的思路是先看整体框架的结构,然后通过看官方文档的描述然后找到对应代码阅读。

查看更多

分享到 评论

一个flash xss的利用

从几个星期前就心心念念找一个flash xss来玩,现在flash用的比较少了,自己也懒得每开一个页面就看下有没有swf文件加载进来,于是就简单写了个油猴脚本辅助检测。思路是用的EtherDream大神在微博说的获取所有请求的方法。

查看更多

分享到 评论

利用蓝牙模拟手环伪造微信运动步数

伪造微信运动步数的方法有很多种,可以hook系统提供步数统计的模块,可以伪造GPS,可以找第三方手环的漏洞。
第三方手环走微信iot平台AirSync协议的话可能通信过程启用AES加密,很难对其攻击。于是考虑自己成为一个手环设备生产商并伪造一个运动手环,欺骗微信运动来获取假的运动步数。

查看更多

分享到 评论

蓝牙安全初探

传统蓝牙设备的攻击

蓝牙可能用来传输一些隐私的数据,有时候还需要在两个设备靠近时自动连接,因此引入了配对和绑定。

蓝牙配对模式

Numeric Comparison:配对双方都显示一个6位的数字,由用户来核对数字是否一致,一致即可配对。例如手机之间的配对。
Just Works:用于配对没有显示没有输入的设备,主动发起连接即可配对,用户看不到配对过程。例如连接蓝牙耳机。
Passkey Entry:要求配对目标输入一个在本地设备上显示的6位数字,输入正确即可配对。例如连接蓝牙键盘。
Out of Band:两设备的通过别的途径交换配对信息,例如NFC等。例如一些NFC蓝牙音箱。

查看更多

分享到 评论