APP安全分析之丁盯智能门磁


发布人:admin分类:网络安全浏览量:35发布时间:2017-12-12

0×01前言: 

   

看了相关密码找回漏洞的分析文章后,打算找个应用来进行这方面的分析研究。最近刚入手了丁盯智能门磁这个智能家居硬件,它通过硬件和软件app的结合,来监控门的安全性。看到它验证码中只是四位简单的数字,估计其中可能存在安全漏洞,就着手进行了相关的测试。

存在的相关漏洞已经通过了相关企业,已经完成了修复。现在的文章来做个记录和对有需要的同学做个参考。

0×02安全漏洞:

软件后台设计中存在缺陷导致可遍历账号信息,并重置任意账户密码

通过应用app的使用,发现后台设计存在两个问题:

1.login1接口会在发送密码前先进行是否存在账号进行检测,返回相应的错误码,可以随机遍历手机号测试接口取得存在的手机号列表,可能因为注册用户较少原因,测试158号码时候只得到一个注册手机信息。

测试代码:

https://github.com/joeyxy/python/blob/master/crawler/dingding/dingding.py

2.找回密码功能中,通过使用应用,观察其逻辑,反编译其软件,找到了aes加密算法及相应的key及iv向量组成方式。因为使用了4位纯数字弱验证码,虽然设定了过期时间为120秒,但是后台没有限定提交的次数,实际测试中,基本在不到一分钟的测试中就可以利用password2接口设计缺陷破解验证码,直接提交修改其它注册用户的密码。

测试代码:

https://github.com/joeyxy/python/blob/master/crawler/dingding/poc_dd3.py

0×03:分析过程

这里使用到的分析工具主要有:Burp Suite,JD-Jui

手机通过配置代理将数据发送到Burp Suite分析

遍历账号login相应细节,存在账号则返回码为:0

提交账号请求:

服务器对账号请求的返回数据

测试破解验证码,修改用户密码。首先是请求接口password1,提交手机号码和参数,请求发送验证码,接口会返回aes加密所要使用的相关key,然后通过aes加密算法使用key+验证码和iv加密验证码加密码的字符串算出密码,发送给给服务器,这里代码是通过遍历测试,根据接口返回的信息,检查返回码,错误码为0就表示修改密码成功,打印相关消息。

反编译apk包所得到的加密算法:

找回密码password1接口测试:

       

     

更新密码password2接口测试:

将上面的测试过程编码,测试结果:

0×04 总结:

应用后台存在的漏洞主要是在于没有限定后台请求的次数,同时使用了简单数字验证码。在分析的过程中,花费时间多的地方在于对于加密算法的分析,通过反编译软件来找到AES算法及相应key与iv的组成。下面的工作就是进行编码测试了。

[作者/joeyxy,转载需注明来自FreeBuf黑客与极客(FreeBuf.COM)]


被黑站点统计 - 文章版权1、本主题所有言论和图片纯属会员个人意见,与本文章立场无关
2、本站所有主题由该文章作者发表,该文章作者与被黑站点统计享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和被黑站点统计的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、被黑站点统计管理员有权不事先通知发贴者而删除本文

免责声明

本站主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据.本站所有工作人员均不参与黑站,挂马或赢利性行为,所有数据均为网民提供,提交者不一定是黑站人,所有提交采取不记名,先提交先审核的方式,如有任何疑问请及时与我们联系.

admin  的文章


微信公众号

微信公众号


Copyright © 2012-2022被黑网站统计系统All Rights Reserved
页面总访问量:21272429(PV) 页面执行时间:71.14(MS)
  • xml
  • 网站地图