摘要:由於,這第二個id字段只是簡單的數字遞增或遞減,所以它完全是可枚舉的,那麼,對於攻擊者來說,只要把它更改爲比如446113496,此時,如果假設該id對應的就是受害者企業賬戶下的子賬戶victim1234,那麼,攻擊者就能輕易在他的企業賬戶子賬戶頁面中( https://www.paypal.com/businessmanage/users ),查看到另一企業賬戶下的受害者子賬戶信息了。利用該漏洞,我可以劫持任意Paypal企業賬戶的子賬戶(二級賬戶),從而可發起從受害者企業賬戶到攻擊者控制賬戶的未授權轉賬操作。

*本文中涉及到的相關漏洞已報送廠商並得到修復,本文僅限技術研究與討論,嚴禁用於非法用途,否則產生的一切後果自行承擔

好久沒有發文了,今天分享我近期發現的一個Paypal越權漏洞(IDOR)。利用該漏洞,我可以劫持任意Paypal企業賬戶的子賬戶(二級賬戶),從而可發起從受害者企業賬戶到攻擊者控制賬戶的未授權轉賬操作。理論上來說,漏洞原因在Paypal中發生了不安全的直接對象引用行爲(IDOR)。

Paypal企業賬戶和子賬戶介紹

Paypal企業賬戶(Business Account)也叫PayPal商業賬戶,是爲了方便各種大公司企業用戶使用而開發的,具有PayPal高級賬戶的所有功能和限制,爲方便交易和商業行爲,企業賬戶下可以創建隸屬於企業員工,但又具備各種權限的子賬戶(Secondary Account),如設定其權限爲只能查看餘額,或者只能退款,或者只能提現等等。

但Paypal企業賬戶下的子賬戶還有一項權限,那就是可以把企業賬戶中的資金轉賬到任何子賬戶指定的其他賬戶中去。所以,基於這種權限,如果能劫持企業賬戶下的子賬戶,就可以從企業賬戶轉錢出來,實現任意資金操作了,不是嗎?說搞就搞。

動手測試

動手之前,我用[email protected][email protected]註冊了兩個企業賬戶以便測試。

首先,在受害者郵箱[email protected]綁定的企業賬戶下,我創建了一個用戶名爲victim1234的子賬戶;

接着,在攻擊者郵箱[email protected]綁定的企業賬戶下,我創建了一個用戶名爲attacker1234的子賬戶;

現在,以攻擊者一方爲例,我們來觀察一下企業賬戶下涉及的子賬戶(attacker1234)URL情況,我們先從企業賬戶中點擊去到子賬戶中看看,如下:

https://www.paypal.com/businessmanage/users/1660971175791245038

結尾的id號1660971175791245038代表的就是[email protected]綁定的企業賬戶。在此子賬戶查看操作過程中產生了一個如下的PUT請求:

PUT /businessmanage/users/api/v1/users? HTTP/1.1

Host: www.paypal.com

Connection: close

[{"id":"1660971175791245038","accessPoint":{"privileges":["MANUAL_REFERENCE_TXN","VIEW_CUSTOMERS","SEND_MONEY"],"id":"4446113495","accounts":["[email protected]"]},"roleID":0,"roleName":"CUSTOM","privilegeChanged":true,"privilegeSecondaryName":"ttt ttts"}]

仔細觀察並測試一番過後,我發現,上述這個PUT請求中第一個id字段,即1660971175791245038這裏可以替換爲任意隨機數值(如asdfjdsf),第二個id字段,即446113495這裏,它代表了子賬戶id,漏洞就出在這裏的第二個id字段。

由於,這第二個id字段只是簡單的數字遞增或遞減,所以它完全是可枚舉的,那麼,對於攻擊者來說,只要把它更改爲比如446113496,此時,如果假設該id對應的就是受害者企業賬戶下的子賬戶victim1234,那麼,攻擊者就能輕易在他的企業賬戶子賬戶頁面中( https://www.paypal.com/businessmanage/users ),查看到另一企業賬戶下的受害者子賬戶信息了。

也就是說,比如,攻擊者可以枚舉出446113495至446113999的所有子賬戶,然後在其在其企業賬戶的子賬戶管理頁面下都能查看到這些子賬戶,那麼,終極招數就是攻擊者只需通過這種方式的子賬戶信息查看,把相應子賬戶密碼進行修改,那就可以實現賬戶劫持了,完美!

漏洞實現效果就是,攻擊者可以通過密碼修改方式登錄受害者企業賬戶下的受害者子賬戶,進行任意未授權的轉賬操作。

漏洞獎勵

漏洞上報後,Paypal官方進行了及時的修復,好在經檢測未發現任何該漏洞的濫用行爲,我也獲得了Paypal獎勵的$10,500。

*參考來源: whitehathaji ,clouds編譯整理,轉載請註明來自FreeBuf.COM

相關文章