一次 SAAS服务商的XSS漏洞思路分享
闲下来重新写一次,当时写的太水被批评了。到现在我也觉得是挺有意思的SAAS渗透思路。这是我第一次碰到SAAS服务商做的渗透测试,如果我分享的内容落伍了请轻喷。
首先介绍一下SAAS,SaaS是Software-as-a-Service(软件即服务)的首字母缩写,他是21世纪兴起的一种与互联网深度融合的新型模式。SaaS通过互联网提供软件,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。
也就是网站到服务器一条龙提供给客户像以前QQ空间里用户用腾讯提供的各种道具装饰QQ空间。在我测试过程中SAAS服务器上有很多很多不同客户的网站,就是虚拟主机那样的思路隔离开各客户网站。以上是背景
其次介绍一下漏洞产生原因,SAAS服务商会提供很多模块给客户做客制化,比如客服模块,代码模块,评论模块。在抓包分析”创建模块“的过程中发现这家SAAS服务商对于用户创建的所有模块会给一个id然后存入数据库,之后我们的网站通过这个id参数来调用指定模块所以当时我就想到也许可以注册一个网站并创建恶意的模块给用户B访问这个模块id从而攻击用户B。
从开发角度来看SAAS服务商这种所有东西放一个箩筐里的代码逻辑十分方便甚至我猜测由于SAAS服务商性质导致SAAS服务商或多或少都会考虑这种逻辑。所以与其说是分享XSS漏洞,不如说是这种思路有意思想与大家分享,轻喷 我再经不起这种打击了罢(悲)。
以上漏洞介绍理解了漏洞利用就没什么复杂的不做过多介绍:1.我去SAAS服务商官网注册并创建网站和恶意XSS模块并抓包到他的模块id,2.用户B网站访问这个模块id弹XSS。
用户B的网站拼接我的模块ID
想问问大家这算不算存储型XSS?
最后,没讲清楚的地方请回复我。
评论6次
算存储XSS的,或者是Self-XSS+设计缺陷,主要区分于SAASxi统规定了你创建的模板是否可以提供给其他用户访问,这个很关键。另外如果是本身可以给其他用户访问的话,那这个唯一的利用难点在于说模板ID是需要拼接,而不是说有模板供用户B访问,如果是模板市场等情况,那造成的危害效果会更大。
的确算存储xss,感谢分享
的确算存储xss,感谢分享
这个危害不大吧,一般都不收的
算存储XSS的,或者是Self-XSS+设计缺陷,主要区分于SAASxi统规定了你创建的模板是否可以提供给其他用户访问,这个很关键。另外如果是本身可以给其他用户访问的话,那这个唯一的利用难点在于说模板ID是需要拼接,而不是说有模板供用户B访问,如果是模板市场等情况,那造成的危害效果会更大。
算吧,供应链攻击?不知道如果SRC或其他平台是否需要证明它的危害,比如别人能否访问或引用你的这个模块
供应链攻击吧算是,最主要的是服务提供商为什么会给一个普通用户放开这种权限
我觉得这是存储型的,特定环境中造成了横向越权