最近做了一个渗透测试,有一个比较抽象的信息泄露,其主要功能点长这样
刚好有他的访客短信,长这样子:
【】您的访客申请已审批通过。在/期间,您可凭身份证刷卡出入。查看详情请通过微信公众号*:校务服务-访客申请,输入验证码ABCD12EF后查看。
也就是说八位随机,随便暴力可以跑出来一些,我也确实拿到了一些,但是这不是重点,重点是这个验证码输入后的请求包与响应包:
到这里没啥问题,就是信息泄露,重点在稍微后面一点:
这个sid怎么和当前不太一样的【doge】
这里面肯定有点问题,复制过来发包,发现了新天地:
欧呦,怎么把其他人的信息给泄露出来了,很明显,这里可以上脚本稍微搞一下就能把访客信息都给扒出来。
稍微总结一下:
枚举验证码 -> 获取A用户sid -> 遍历sid参数 -> 获取全量B/C/D用户数据
修复建议:
验证码侧:增加图形验证码(极验/滑块),或对同一IP/手机号在1小时内错误5次即封禁。
会话侧:SID必须与当前用户的OpenID/手机号绑定,后端每次查询都校验sid是否归属于当前会话。
前端侧:接口返回的JSON中禁止透传内部权限凭证(如sid/uid)。
评论0
暂时没有评论