近期,白帽汇安全研究院发现hackerone最近公布了一个价值3000美金的XSS漏洞,受影响的厂商是全球知名电子商务软件开发商Shopify旗下网站。此XSS漏洞的利用方式并不是通常所用的插入恶意字符串的方式,而是通过上传图片来说实现。作者的详细说明如下:
shopify允许开发者创建一个被称为“销售渠道”的特殊类型的应用。并且还允许开发者上传一个 16x16 的SVG格式的名为“导航标志”的图片(SVG是一种用xm l定义的语言,用来描述二维矢量及矢量/栅格图形)。出于安全原因,Shopify对这种SVG格式图片中所能使用的元素和属性做了限制。但由于一些未知原因,当这个SVG格式图片包含xm l实体时,白名单就会失效,开发者从而可以往图片插入某些恶意属性,例如on load,来发动网络攻击。所以,最终导致开发人员可以上传一个包含恶意代码的SVG格式的图片来发动XSS攻击,受影响目标包括partners.shopify.com网站以及任何拥有“销售渠道”这个应用的网络商店的管理员面板。
POC
POC较容易创建。步骤如下:在Partners面板下创建一个新的应用,然后跟随"Extensions" -> "Sales channel" 去转变应用。最后,在“App info”这块区域的“Navigation icon”部位上传包含以下代码的SVG格式的图片:
Shopify已于1个月前修复完此漏洞。
引用:1.https://hackerone.com/reports/299424
2.https://baike.baidu.com/item/SVG%E6%A0%BC%E5%BC%8F/3463453?fr=aladdin