火狐浏览器的ADD-ONS这个站点为登录用户提供了创建collections的功能。collections是相同加载项工具的集合,每个人都可以在该集合里面创建或者共享工具。每一个collection都会有一个单独的URL链接,所以collections对于每个人都是公开可见的。
创建一个collection时,会有一个表单需要填写,填写项包括Name, Description,add-ons,然后Name这个位置存在存储型的xss。
我创建了一个collection,然后在Name这个位置输入"xxxxxxxx'yyyyy</img来观察程序对特殊字符的处理行为,我创建的collection在这。下面的截图展示了比较有意思的点,插入的数据被放置在<title>标签中,然后可以看到<没有被编码或者过滤。
当你在测试xss的时候,如果你在<title>标签内,并且<没有被编码或者过滤的时候,可以通过闭合标签</title>后,插入任意JavaScript然后执行。我所使用的攻击向量为</title><svg/onload=confirm(document.domain)//。
下图展示了该存在的xss,地址为https://addons.mozilla.org/en-US/firefox/collections/soaj1664/a-img-src-1-gif-onerror-alert/,目前已经被修复。
我在去年12月26日提交了该漏洞(https://bugzilla.mozilla.org/show_bug.cgi?id=1235190),然后在1月7号被修复了。Mozilla为这个存储型的可被利用来进行恶意软件下载等活动的xss奖励了我2500$。我还发现了另外两个xss,一个在Mozilla add-on,另一个在Mozilla Support site,鉴于这两处xss还未修复,我不便放出细节,修复后我会将这两处的细节更新到当前文章中。
尾记:漏洞的成因很简单,该漏洞也很好挖掘,大家是不是心动了?另外,这个作者的博客记载了很多跟xss相关的知识,可以延伸阅读一下,或者去看下pkav的xss系列。
*原文:respectxss.blogspot.com 编译/老王隔壁的白帽子 ,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)