維卡斯的安全研究員夏爾馬利用一個無限制的檔案上傳漏洞,在paypal伺服器上遠端執行代碼,也意味着他發現了一個遠端代碼執行漏洞。
該專家正在利用burp軟體通路paypal bug 賞金頁的時候, 打開頁面 http://paypal.com/bugbounty/跳出如下的響應頁面。
專家将他的分析集中在 "内容安全政策:" 響應報頭中提到的 paypal 域清單中, 特别是 "https://*. paypalcorp. com."
在這第一個階段, 黑客的興趣集中在尋找盡可能多的有效子域來進行攻擊, 當執行這樣的分析時,以下工具, 如 subbrute, knockpy, enumall, 是有用的。
"這些都是我通常使用的工具, 但由于周末比較懶惰, 我這次就用了virustotal,來枚舉子域, 你可以在這裡得到清單: https://www.virustotal.com/en/domain/paypalcorp.com/information/
複制了子域的清單到本地,并運作 “dig -f paypal +noall +answer, 來檢測所有的子域指向的地方 "。專家注意到, 域 "brandpermission.paypalcorp.com" 指向的是 "https://www.paypal-brandcentral.com/", 這是一個網站, 上面運作着一個為paypal供應商和合作夥伴服務的線上工單系統, 他們可以在這個系統上請求paypal品牌授權。
該網站允許使用者上傳标志以及任何與品牌相關的圖形的設計原型。專家決定通過上傳一個簡單的圖像來建一個工單并分析圖檔的目标檔案夾。
"是以, 我首先通過上傳一個簡單的圖像檔案來建立一個工單, 名為" finish. jpg ", 被命名為" finished__thumb. jpg "存儲在目錄中:
“/content/helpdesk/368/867/finishedthumb.jpg”“finished _thumb.jpg” 是在 “/867/”目錄中建立的新檔案。我快速檢查了我們上傳的實際檔案是否存在于目錄中, 幸運的是 (你一會就知道為什麼了)" finish. jpg "也存在于同一目錄中。酷;) "這個 賞金獵人的文章中繼續說道。
維卡斯發現, 上面的連結包含了工單号碼, 在這個特定的情況下, 他所建立的工單的編号是 "368", 同時 "867" 是檔案夾的 id, 所有與工單相關的檔案都存儲在其中, 包括模型檔案。
研究人員建立了一張新工單, 發現工單 id 和檔案 id 号是以串行方式生成的。專家上傳了一個 ". php" 擴充檔案, 而不是一個圖像, 發現應用程式沒有驗證檔案類型、内容等。
"隻要我看到302的回應, 我就快速打開工單并做一個簡單的右鍵單擊動作來複制連結, 就像我上傳圖像檔案時可以做的。 但是, 在這種情況下, 如果你上傳一個 php 檔案作為模拟, 你看不到上傳的php檔案的路徑,唯一可見的東西是工單号。
不同的是, 專家注意到,從上傳的圖像檔案中, ,是不可能發現用于存儲樣機檔案的檔案夾的。專家上傳了一個名為 "success. php"的檔案。和圖像上傳類似, 他認為該檔案被存儲為 success_thumb. php。
此時, 他決定強行周遊檔案的檔案夾 id。
一旦發現檔案的檔案夾 id, 研究員試圖執行代碼:
https://www.paypal-brandcentral.com/content/_helpdesk/366/865/success.php?cmd=uname-a;whoami
"cat+/etc/passwd 奧,下面是見證奇迹的時刻,我真的找到了一個遠端執行代碼漏洞 ;)"
目前這個漏洞已被修複。然而故事并沒有結束,還是同樣的問題,在另外一個地方又發現了一處漏洞。您可以關注我的部落格
http://blog.pentestbegins.com/2017/07/21/hacking-into-paypal-server-remote-code-execution-2017/
原文釋出時間:2017年7月24日
本文由:securityaffairs釋出,版權歸屬于原作者
原文連結:http://toutiao.secjia.com/paypal-server-rce#
本文來自雲栖社群合作夥伴安全加,了解相關資訊可以關注安全加網站