在某行动期间,参加了同时举行的省级行动。由于两场行动有交集,因此常规的靶标攻克难度很大。故而在靶标中选择了一个非集团的单位进行测试。
尝试过在各搜索引擎收集该目标的资产,但由于目标疑似并无互联网资产,导致无从下手。后以靶标名称作为关键字在测绘平台中搜索,得到了其供应商的后台地址。
进入后发现该省50余家医院可以作为医疗机构登录至后台
第一眼看去想到三个思路
1. 爆破管理员后台账号
2. 通过忘记密码找回
3. 注册新用户 1和2由于被爆破的目标不明确所以没有执行,而3所提供的注册表单是缺少参数的因此无法注册。
最后决定从js入手,十分幸运的是业务js中的接口大部分是可以未授权访问的。
尝试过在saveuser接口处构造json来控制user,但并未成功。
于是我选择了以GET请求的接口(类似下图)尽可能多的搜集一些信息。
最终获得两个我能利用的接口
获取医院编号:/system/member/memberInfo/
获取某医院医生信息:/system/doctor/doctorInfoSync/hospitalcode/医院编号
测试后发现以doctor_id作为账号,这样一来我就可以得到用于爆破的账号,为了避免纠纷选择了靶标医院账号进行测试
使用字典进行爆破,最终得到了一个弱口令账号。
进入后台后,功能很少,但发现应该是供应商提供的一个HIS系统,只有一个门诊缴费,但已经有大量的患者数据了。因此如果能拿到高权限用户应该就可以得到几十家医院海量的患者信息。
在向裁判方说明情况后,同意了我们继续深入。
在后台没有发现别的可以深入的点,便回过头来看看登录时的JSON,发现了role_list
于是我在js中查找关键字,发现了相关接口,不同编号拥有不同权限,最后通过遍历,得到管理员编号。
权限分配接口:/system/resources/loadMenu/rolelist/
修改role编号后登录
最终在挂号详情处通过修改医院编号和时间范围获取海量患者敏感信息。
最后要统计所有医院信息量,就拿了几家医院7月平均数作为基准,最终估出了几亿条,于是被评为重大成果。
-END-
如果本文对您有帮助,来个点赞、在看就是对我们莫大的鼓励。
推荐关注:
团队全员均持CISP-PTE(注册信息安全专业人员-渗透测试工程师)认证,积极参与着各类网络安全赛事并屡获佳绩,同时多次高水准的完成了国家级、省部级攻防演习活动以及相关重报工作,均得到甲方的一致青睐与肯定。