RunKeeper存储型XSS漏洞分析

RunKeeper是一个GPS的健身跟踪应用程序的用户超过4000万的iOS和Android用户。

1。跨站脚本(XSS)攻击是一种类型的注射,其中恶意脚本注入否则良性和受信任的网站。XSS攻击时,攻击者使用一个Web应用程序发送恶意代码,一般在浏览器端脚本的形式,为不同的终端用户。缺陷,让这些攻击成功是相当普遍的,一个Web应用程序使用用户的输入在输出产生没有验证或编码。

攻击者可以利用XSS发送一个恶意脚本不知情的用户。最终用户的浏览器有没有办法知道,脚本不应该被信任,并将执行脚本。因为它认为脚本来自受信任的源,恶意脚本可以访问任何cookie,会话或其他敏感信息的保留和使用该网站的浏览器。这些脚本可以重写HTML页面的内容。对不同类型的XSS漏洞的更多细节。

2。跨站请求伪造(CSRF)是一个攻击最终用户在Web应用中,他们目前的认证执行不必要的行动。CSRF攻击的具体目标状态改变的请求,不盗窃数据,因为攻击者没有办法看到伪造的请求的响应。有一点社会工程学(如通过电子邮件或聊天,发送一个链接),攻击者可能诱骗一个Web应用程序的用户执行行动的攻击者的选择。如果受害者是普通用户,一个成功的CSRF攻击可以强制用户执行状态改变的要求转移资金,改变他们的电子邮件地址,等等。如果受害人是一个管理帐户,CSRF可以妥协的整个Web应用程序。
在此证明我们发现的2个问题,第一个 存储跨站点脚本影响“RunKeeper用户配置文件名”里的有效载荷是存储在数据库中并将反映在公共用户页面,有时存储跨站点脚本问题更严重比SQLI导致访问一个完全加密的用户数据, 二全站跨站请求伪造用户可以关注其他用户通过一个GET请求(因为网站遭受CSRF问题全部分)!
PoC代码:

https://runkeeper.com/relationship?request=&target=36973602


POC视频:

注释:

你可能注意到在POC视频我们在XSS有效载荷进行后续请求,把它变成一个WEB范围的XSS蠕虫行为,在最坏的情况下,我们可以使用这个存储型XSS注入有效载荷上的任何潜在的配置文件访问。 也缩短了XSS有效载荷,有效载荷的长度限制在页面源代码上下文有效反射不会超过限制执行!我们都知道,一个存储型XSS可以模拟鼠标点击,阅读反CSRF和执行的形式提交,等等。但我们这里尝试合并两个攻击演示如何攻击者能够执行更严重的影响。