某厂app分析及漏洞

查看 153|回复 10
作者:zkz6969   
前言
放假了,得去挣点学费,遂进厂,厂里的app,越权漏洞和信息泄露,以及基础的逆向分析
注:以下内容仅供学习和参考,请勿用于违法行为活动
登陆


image-20230509105614123.png (23.87 KB, 下载次数: 0)
下载附件
2023-5-9 10:58 上传

应该是加密了,并且有key,app有壳,xx御安全,我用的frida-dexdump -FU脱几个dex出来
用jadx打开不错,改用GDA,网上有免费版
这里一个一个dex的搜,出现在classes02.dex中


image-20230509091845206.png (147.42 KB, 下载次数: 0)
下载附件
2023-5-9 10:59 上传

其中key是由你的工号,用异变凯撒变换,工号和密码在so中完成加密


image-20230509092050306.png (9.45 KB, 下载次数: 0)
下载附件
2023-5-9 11:00 上传

可以先hook看一下传进去的值,在GDA这个工具中可以直接右键函数可以直接hook,还是比较方便的(提前在adb中启动frida)这里打一下码,见谅

所里面非常简单,没有混淆之类,但是把传进去的key又做了一次异变凯撒变换,再进行des cbc加密
看到一个字符串,不免想到是iv,(函数名就是DESencypt)


image-20230509092527547.png (60.22 KB, 下载次数: 0)
下载附件
2023-5-9 11:01 上传

不过后来我试图重写时发现,加密内容非8整倍用0字节填充,结果不一样(但不影响下文)
用py复写整个登陆,可以上号,我发现返回包中尽然没有任何维持身份的东西(就很奇怪,登陆就是个摆设?)
信息泄露
[ol]

  • 身份信息泄露
    在访问我的资料,发现从服务器上请求中参数值需要工号(注意,以下信息量爆炸,统统码住)
    注:据我像老员工打听,工号就是按照顺序来的,工号起初设计应是考虑了1000w的人(已离职工号是已使用,不会在重启工号给别人使用,该洞即可遍历所有工号,但是是一个工程量巨大的事情)


    image-20230509093801861.png (72.42 KB, 下载次数: 0)
    下载附件
    2023-5-9 11:02 上传

  • 薪资卡信息
    访问薪资卡,会要求我们输入登陆密码,还有一个摆设本地验证码,获取信息,请求如下


    image-20230509094613960.png (54.62 KB, 下载次数: 0)
    下载附件
    2023-5-9 11:03 上传

    同样工号加密了,搜索易得java 层DES加密,


    image-20230509095013721.png (93.85 KB, 下载次数: 0)
    下载附件
    2023-5-9 11:03 上传

    拿到key,对返回结果一统解密,泄露银行卡卡号(个人),开户行,姓名,这里就不放图片了,很暴力

  • 人脸图像
    进入厂区有些时候需要刷脸,也可刷厂牌,用户可以自己在app中采集人脸,(进厂前已收集一张)
    先获取图片路径和图片绑定的uuid(码住)


    image-20230509103521432.png (23.61 KB, 下载次数: 0)
    下载附件
    2023-5-9 11:03 上传

    随后向接口getImageByUrl获取图片,我试图尝试任意文件读取漏洞,但是似乎失败了,fuzz读取/etc/passwd和/etc/shadow返回空,其他404
    人脸图片在app中不是每个用户都有(有的自己删除了),影响:都有了你的sfz_id和name、phone,再加个人脸图附魔不过分吧,别人可能干一些非法认证,绑定一些人脸业务
    [/ol]
    越权
    额,我也不知道这算不算越权
    回到头来分析,好像楼掉了些甚么,看了看验证码,修改忘记密码之类
    其中忘记密码是在登陆界面,会先输入你的工号,会想服务器获取工号绑定的手机号,app上是对手机号的中间4位打了"*"号,我一看包,卧槽,这么暴力吗,响应包中就是完整的手机号(又是一个任意信息泄露),
    你以为就这,之后向服务器请求发送验证码,发送过来的验证码我发现竟然在请求包中(即验证码在本地随机产生一个6位数)


    image-20230509100448703.png (55.07 KB, 下载次数: 0)
    下载附件
    2023-5-9 11:04 上传

    我马上即想到任意用户密码修改,因为验证码由我们所控制,后来我发现根本没必要
    接下来重置密码(只需要填写新密码),发现新大陆(超级暴力)
    请求包中的内容pwd和EmpNo(工号)是上文提到的so中的加密方式,key也同理的


    image-20230509100811427.png (48.65 KB, 下载次数: 0)
    下载附件
    2023-5-9 11:04 上传

    那么就出现了,任意用户密码重置,实测我朋友已成功
    更加暴力的
    众所周知,厂里是有储物柜的,有电子锁和自带钥匙的那种
    这个厂有部分员工是在使用电子锁,开锁方式(厂牌和手机上的这个app远程开锁)
    结合上面我们已经有了任意用户密码重置的漏洞,网络黑客直接侵入现实
    [ol]

  • 获取储物柜位置
    像服务器发包,只需工号,返回储物柜位置,没有则null

  • 开柜
    原来没有那么复杂,开柜需要输入密码,密码是本地校验(逆天?),后像服务器发送开柜指令(只需工号),原来是我多想了


    image-20230509102905236.png (232.03 KB, 下载次数: 0)
    下载附件
    2023-5-9 11:05 上传

    [/ol]
    后记
    这个app现在对我而言基本没什么安全所言了,而这些信息都是在进厂前就被收集了的,但是厂商对待你们的信息那完全就不当回事
    如果有看官看出来了是哪个厂,也请莫要声张,厂商大概是不会去修复这些漏洞的,以免造成大规模的信息泄露及物理安全
    有出现错别字见谅,因为要睡觉了
    以上内容仅供学习和参考,请勿用于违法行为

    下载次数, 下载附件

  • hxd97244   

    很多APP都是找几个人搭个草班子做的,以前朋友公司开发软件都是提出要求,然后带头的人找几个所谓的专业人员(估计是同学,看着年纪都不大,而且很熟络的样子)一个月不到就搞出来,要这中间有人知识和安全意识不到,信息泄露再正常不过了。
    一块砖头   

    从侧面证明应该是原创,如果是哪个犄角旮旯复制的源码我估计不会离谱到这个程度。就是不知道开发公司是招了个什么人才了。就算是找人用iapp捏一个,我估计他都知道一些信息得加个md5再放服务器里头
    wangguang   

    对于这个厂我只能说牛马
    gonwe   

    foxxxx 大厂
    无闻无问   

    我觉得我这个小白开发的都比他安全……
    所以明显是故意的……
    klxn0-0   

    鉴权真是啥都不管啊,后端自学三天开发的么
    deffedyy   

    这厂太tmd危险了
    T4DNA   

    很多app都是这样的,信息随便泄露,比如前年那个xxx
    路人王2021   

    这个厂安全做的不行啊
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部