厲害了,word哥!4步輕松繞過PayPal雙重驗證機制
雙因子認證(2FA)是指結合密碼以及實物(信用卡、SMS手機、令牌或指紋等生物標志)兩種條件對用戶進行認證的方法。這種方法已經為企業所采用,主要用于增加賬戶的安全性,更好的保護用戶的賬戶安全。
與其他大多數網絡服務商一樣,PayPal也為用戶提供了雙重驗證的選項。雙重驗證的一個特點就是:在用戶嘗試使用用戶名和密碼登錄賬戶時,服務器會向用戶發送一次性的短信驗證碼來驗證手機。用戶需要有手機服務才能接收到服務器發送的驗證碼。如果沒有手機信號,那他們就沒有辦法接收服務器發送的驗證碼,換句話說,他們就不能通過標準的雙重驗證模式登錄賬戶。
然而,英國安全研究專家Henry Hoggard還是發現了一個非常簡單的方法來繞過PayPal的雙重驗證機制。繞過雙重驗證機制后,黑客可以在一分鐘內輕松掌控用戶的PayPal賬戶。
這個方法是Hoggard在一家沒有手機服務(就是我們說的沒有信號)的酒店內偶然發現的。
Hoggard表示,問題出現在“嘗試其他方式”這個鏈接上。PayPal向帳戶所有者提供此選項,以便他們在手機沒有信號或設備不在身邊的情況下,依然可以使用自己的賬戶。當出現手機無信號或者設備無法連接的情況時,PayPal便要求用戶回答密保問題。
Hoggard發現,如果攻擊者運行一個代理服務器,就可以攔截和保存PayPal服務器的請求,這使得攻擊者能篡改HTTP數據并欺騙PayPal允許攻擊者進入被黑賬戶。
另外,攻擊者需要從HTTP請求中刪除“securityQuestion0”和“securityQuestion1”參數。這種攻擊對攻擊者水平要求并不高,基本上屬于入門水平的攻擊。
具體步驟:
1.Hoggard登錄了他的PayPal賬戶并點擊了“try another way”,他收到了來自PayPal的詢問,是否允許PayPal發送一次性2SV驗證碼給他。
2.Hoggard選擇回答密保問題,但他并沒有用自己設置的唯一密碼,而是在提供的文本框中隨便輸入了一個密碼。
3.在此,Hoggard利用代理,從POST數據中去掉了兩個密保問題。
- selectOption=SECURITY_QUESTION&securityQuestion0=test&securityQuestion1=test&jsEnabled=1&execution=e2s1&_sms_ivr_continue_btn_label=Continue&_default_btn_lable=Continue&_eventId_continue=Continue
4.然后,發布數據。令人詫異的是,賬戶居然通過驗證了(小編眼睛被辣了,賠錢)。
這是一個真實的案例,并不是在說笑,雖然簡單,但非常有用。如果攻擊者掌握了受害者的PayPal用戶名和密碼,他們就可以繞過2SV并登錄受害者的賬戶。
由于這個漏洞具有很大的威脅,Hoggard在今年10月3日將此問題反饋給PayPal,經過縝密的調查后,PayPal已經在10月21日將該漏洞修復。
一般來說,針對各類web服務都應該采用雙重認證,以保證進一步的安全性。除此之外, 他們還應該有備選的認證方案,這樣,就算在移動設備丟失的情況下,照常能夠訪問他們的帳戶。