网络棋牌游戏下载_网上棋牌游戏大全

挖洞经验 Medium博客平台从Stored XSS到账号劫持

更新时间:2019-09-03 09:44点击:

  *本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担

  本文分享的是作者在博客平台Medium上编写文章时,偶然发现一个Stored XSS漏洞,在此基础上深入分析又发现了Account Takeover账号劫持漏洞,完美实现赏金从$100到$1000的提升。

  几个星期以前的某个晚上,我正在Medium上写博客,内容无非就是 – 为什么公司企业应该大力接纳漏洞众测模式…云云,一番吐槽宣泄之后,脑子短路突然不知道该写啥了。那就休息休息先干点别的吧,于是我就摆弄起Medium的博客编辑器来。

  我不太记得当时我是怎么做的了,但是,我注意到可以从中添加类似于mailto:这样的特殊链接,所以,我脑子马上想起来,那既然能用mailto:样式,那能不能用java:呢?因此,我就用jAvA:confirm来试了试。不敢相信,竟然可以的!我把它嵌入我的博客文章中,打开文章后点击对应链接,马上就跳出一个确认对话框来:

  也就是说,我在Medium平台的关键位置发现了一个存储型XSS!立马上报之后我就睡觉去了。

  第二天早上醒来,我想,能用5分钟发现一个存储型XSS漏洞,真的就只能如此了吗?接下来,在编写博客时,我就用Unsplash图片上传方式进行测试,并对此过程进行抓包,该POST请求如下:

  现在这样,根据Medium赏金政策,顶多也就是$100美金,但其中提到:信息泄露或安全认证绕过漏洞可以达到$1000美金。所以我还是想搞个大的。

  基于以上发现的编辑器存储型XSS,我想能不能测测账号劫持呢?由于请求交互过程中的会话Cookie具备HTTPonly设置,所以客户端脚本是不能正常读取Cookie内容的,当然也就无法窃取Cookie了,这就需要其它方法了。我来到个人资料选项设置中,看看能否把其中的注册邮箱地址更改替换成别人的邮箱,一试,竟然不需要密码就能更改。这种情况下,为了测试起见,我手动更改了其中的注册邮箱为我另一邮箱,然后往该邮箱发送了一条包含临时登录的URL链接,然后我在另一邮箱中打开该链接竟然能成功登录。整个过程可以用以下两步来实现:

推荐文章

官方微信公众号