文章为山丘安全攻防实验室成员:O8原创
文章仅用于攻防技术学习,请勿用于非法用途
文章在漏洞修复后进行撰写发布
1
前言
写这篇文章,一方面是“实战某医院水平越权操作任意账号”,另一方面“揭秘黄牛怎么把你的预定变成了别人的预定”。
其实平时漏洞挖掘中,web端的漏洞挖掘可能比较困难,但是换个思路。
转移到微信公众号或者是APP总会有出其不意的效果。
故事的起因是女朋友最近胃不舒服,想去旁边的XXX医院去看看中医调养一下。
后来,远在异地的我微信收到了女朋友的预约成功链接,手动测试发现了有点问题。
2
测试
注:文章中的真实名称用某医院代替
首先,任意订单获取
打开长这样子
我先描述一下URL获取方式,微信分享的订单是直接看不到URL的
但是点击复制链接就可以获取到对应的URL,
我将URL发送给自己的文件助手,看到如下URL
https://open.weixin.qq.com/****/****/****?appid=xxxx&redirect_uri=http://www.xxxx.com/xxxx/order***?id=123456&state=1223#wechat_redirect
尝试ID遍历
Id已经做了特殊处理,是纯数字,且依次叠加。
尝试进行+1
继续+1、一直到EMMMM
肉眼看到还是被加密了重要信息,上BURP抓着看看能不能绕过
绕过微信开放平台实现任意订单ID遍历、未加密身份证号、姓名等敏感信息泄露
直接访问
http://www.xxxx.com/xxxx/orderInfo?id=123456&state=123#wechat_redirect
抓包
发现访问了一个地址+id;
分析了这个请求的多次请求,其中一个请求最为关键,可直接任意ID获取未加密信息
由图可见直接遍历这个接口就可以轻松获得未加密用户姓名、账号、订单号、性别、身份证信息、挂号信息。
进一步测试,任意订单取消
这个其实就是印证我们标题,比信息泄露严重的多。
我们在医院周围住着,要么提前预约,要么就去现场排队。
医院真是不缺病人,想想黄牛利用这个技术把你订单取消了,然后让他的病人进来……
进一步验证,水平越权订单取消。
怕影响到别人,特意用自己的微信号挂了下周的一个医生
继续访问
https://open.weixin.qq.com/****/****/****?appid=xxxx&redirect_uri=http://www.xxxx.com/xxxx/order***?id=123456&state=1223#wechat_redirect
看到了取消按钮,尝试按一下,看看到底能不能取消
emmm看来要登陆。登陆女朋的账号
尝试一下
跳转到了中医
登陆我自己的账号再次查看此信息
测试结束
总结:
1、未登录任意ID遍历(身份号、姓名、性别、看啥医生、啥时候去看……等)。
2、登陆后越权任意用户预约取消(这也算我们这边比较好的医院~俺们排队一早上~黄牛~唉~难受~这里面也有我的信息)。
3、 希望医院便民的同时也能重视信息安全问题。
修复方法: