CVE-2022-24948 Apache JSPWiki xss漏洞

CVE-2022-24948 Apache JSPWiki xss漏洞

据 Apache 网站介绍,Apache JSPWiki 是领先的开源 Wiki 引擎,功能丰富且围绕标准 JEE 组件(Java、servlet、JSP)构建。它似乎被用于类似于 Wikipedia 的通用 Java CMS 使用的主机网站,并且似乎相当普遍。

CVE-2022-24948 Apache JSPWiki xss漏洞

CVE-2022-24948

我们发现了一个非常棘手的 XSS 漏洞,未经身份验证的攻击者可以利用该漏洞。它很难被利用,所以我们决定分享一些关于我们如何处理漏洞的发现

该漏洞位于用户名字段中。当用户更改其用户名时,用户名将被放入 ‘content’ 属性中的 <meta> 标记中,如下所示:

<meta name="wikiUserName" content='<em>USERNAME</em>' />

然而,虽然双引号和其他对典型 XSS 有用的字符被禁止,但我们仍然可以使用单引号从属性中转义。所以如果我们将用户名设置为 5;URL=//evilzone.org’ http-equiv=’refresh

<meta name="wikiUserName" content='5;URL=//evilzone.org' http-equiv='refresh' />

这会导致对 evilzone.org 的开放重定向

但是其中一个被禁止的字符是冒号 (:),因此我们不能提供像 URL=javascript:this() 或 data:this() 甚至 http://evil 这样的方案。即使我们可以导致重定向到 javascript: url,所有主流浏览器的最新版本都将“null”域分配给 meta,它重定向到 javascript/data 方案并且对于 XSS漏洞无用。

由于上述所有原因,使用元标记来利用 XSS 漏洞似乎非常困难。在与伟大的 Gareth Hayes 进行头脑风暴后,我们意识到了一种在元标记中利用 XSS 的方法

<meta onfocus=alert(1) id=x tabindex=0 style=display:block>#x

现在这是在元标记上触发 XSS 的绝妙方法。我们只需要通过访问 http://site.com/?#x 来引用 id 来触发 XSS 以关注 id。有效载荷的一个重要部分是“display:block”部分,如前所述,我们不能在有效载荷的任何地方使用颜色 (:)。

我们用来绕过该限制的技巧是查看 CSS 文件并查找引用了“display:block”的“类”。查看 https://jspwiki.apache.org/css/haddock.css 我们发现以下内容:

CVE-2022-24948 Apache JSPWiki xss漏洞

好的,所以修改后的不使用冒号的有效载荷如下所示:

Username: 1000' onfocus=alert(1) id=x tabindex=0 class="form-control"

生成以下内容:

<meta content='1000' onfocus=alert(1) id=x tabindex=0 class="form-control"/>

现在转到 https://JSPWIKI/?#x 会触发我们的警报。

CVE-2022-24948 Apache JSPWiki xss漏洞

在 JSPWiki 的某些版本中,有效负载被添加到 <head> 标记,而不是 <body>,后者不会执行元标记中的脚本。对于这种情况,我们可以使用有效载荷 10000;’ onclick=alert(12) accesskey=x> 根本不需要冒号。

CVE-2022-24947

现在我们仍然需要诱骗受害者将他们的用户名更改为上述有效负载,以便他们触发他们帐户上的 XSS。由于 Apache JSPWiki 中的错误配置,CVE-2022-24947 可以轻松利用 CSRF 漏洞,该漏洞可以更改受害者的用户名

设置

  1. 将受害者发送到恶意页面,其中 CSRF 漏洞将其用户名更改为我们的 XSS 有效负载
  2. 几秒钟后加载主页,以便触发 XSS 漏洞
  3. 使用 XSS 有效载荷将受害者的电子邮件地址更改为攻击者的电子邮件
  4. 使用攻击者的电子邮件地址重置密码并接收密码重置令牌以访问受害者的帐户w00t

时间线:

1 月 7 日:向 Apache 报告
1 月 13 日:XSS 初始修复发布
2 月 12 日:CSRF 修复发布
3 月 2 日:公开披露

参考资料

https://lists.apache.org/thread/86p0yzopc4mw2h5bkwpt927b2c8tfq3b
https://lists.apache.org/thread/txrgykjkpt80t57kzpbjo8kfrv8ss02c
https://blogs.apache.org/foundation/date/202202

from

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注