前言
放假了,得去挣点学费,遂进厂,厂里的app,越权漏洞和信息泄露,以及基础的逆向分析
注:以下内容仅供学习和参考,请勿用于违法行为活动
登陆
应该是加密了,并且有key,app有壳,xx御安全,我用的frida-dexdump -FU脱几个dex出来
这里一个一个dex的搜,出现在classes02.dex中
其中key是由你的工号,用异变凯撒变换,工号和密码在so中完成加密
![某厂app分析及漏洞 某厂app分析及漏洞]()
可以先hook看一下传进去的值,在GDA这个工具中可以直接右键函数可以直接hook,还是比较方便的(提前在adb中启动frida)这里打一下码,见谅
所里面非常简单,没有混淆之类,但是把传进去的key又做了一次异变凯撒变换,再进行des cbc加密
看到一个字符串,不免想到是iv,(函数名就是DESencypt)
不过后来我试图重写时发现,加密内容非8整倍用0字节填充,结果不一样(但不影响下文)
用py复写整个登陆,可以上号,我发现返回包中尽然没有任何维持身份的东西(就很奇怪,登陆就是个摆设?)
信息泄露
在访问我的资料,发现从服务器上请求中参数值需要工号(注意,以下信息量爆炸,统统码住)
注:据我像老员工打听,工号就是按照顺序来的,工号起初设计应是考虑了1000w的人(已离职工号是已使用,不会在重启工号给别人使用,该洞即可遍历所有工号,但是是一个工程量巨大的事情)
![某厂app分析及漏洞 某厂app分析及漏洞]()
访问薪资卡,会要求我们输入登陆密码,还有一个摆设本地验证码,获取信息,请求如下
拿到key,对返回结果一统解密,泄露银行卡卡号(个人),开户行,姓名,这里就不放图片了,很暴力
进入厂区有些时候需要刷脸,也可刷厂牌,用户可以自己在app中采集人脸,(进厂前已收集一张)
随后向接口getImageByUrl获取图片,我试图尝试任意文件读取漏洞,但是似乎失败了,fuzz读取/etc/passwd和/etc/shadow返回空,其他404
人脸图片在app中不是每个用户都有(有的自己删除了),影响:都有了你的sfz_id和name、phone,再加个人脸图附魔不过分吧,别人可能干一些非法认证,绑定一些人脸业务
越权
回到头来分析,好像楼掉了些甚么,看了看验证码,修改忘记密码之类
其中忘记密码是在登陆界面,会先输入你的工号,会想服务器获取工号绑定的手机号,app上是对手机号的中间4位打了"*"号,我一看包,卧槽,这么暴力吗,响应包中就是完整的手机号(又是一个任意信息泄露),
你以为就这,之后向服务器请求发送验证码,发送过来的验证码我发现竟然在请求包中(即验证码在本地随机产生一个6位数)
我马上即想到任意用户密码修改,因为验证码由我们所控制,后来我发现根本没必要
接下来重置密码(只需要填写新密码),发现新大陆(超级暴力)
请求包中的内容pwd和EmpNo(工号)是上文提到的so中的加密方式,key也同理的
更加暴力的
众所周知,厂里是有储物柜的,有电子锁和自带钥匙的那种
这个厂有部分员工是在使用电子锁,开锁方式(厂牌和手机上的这个app远程开锁)
结合上面我们已经有了任意用户密码重置的漏洞,网络黑客直接侵入现实
像服务器发包,只需工号,返回储物柜位置,没有则null
原来没有那么复杂,开柜需要输入密码,密码是本地校验(逆天?),后像服务器发送开柜指令(只需工号),原来是我多想了
后记
这个app现在对我而言基本没什么安全所言了,而这些信息都是在进厂前就被收集了的,但是厂商对待你们的信息那完全就不当回事
如果有看官看出来了是哪个厂,也请莫要声张,厂商大概是不会去修复这些漏洞的,以免造成大规模的信息泄露及物理安全
原文始发于微信公众号(HACK之道):某厂app分析及漏洞
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/2413252.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论