關于私有程序信息泄露漏洞的闡述。
谷歌黑客語法:
inurl:responsible disclosure
使用上面這個語法搜索,讓我獲得了一個私有程序的列表。
子域名挖掘
為了開始我的安全測試,我首先使用Subfinder來識別與目標域關聯的任何子域名。
我使用了各種其他工具,包括 GitHub 掃描和證書掃描,以盡可能多地收集有關目標網絡環境的信息。
最后,我使用自己的字典對目標進行靜態和動態暴力破解,這讓我總共發現了 42 個子域名。
一旦我對目標的網絡環境有了更好的了解,我便開始探索該網站的主要功能點。
在瀏覽該網站時,我發現了一個注冊按鈕,它指向一個用戶面板,用戶可以在其中創建一個帳戶并輸入他們的個人信息,包括他們的姓名、電子郵件、電話號碼和個人資料詳細信息。
第一種情況
我嘗試的第一個場景是在沒有驗證的字段上嘗試XSS payload,例如名稱字段。我嘗試了幾次,但不幸的是,這種情況沒有產生任何結果。

這是我試圖彈出警報的payload。
第二種情況
接下來,我嘗試上傳一個 shell而不是個人資料圖片。為此,我創建了一個PHP 文件并echo 1在其中寫入。然后我嘗試用content-type: image/png. 我注意到一件有趣的事——文件上傳成功。我很快找到了照片的路徑,并在終端中使用 curl 檢查我的文件中的代碼是否被執行。不幸的是,我發現代碼并沒有被執行,這讓我感到很失望。
我嘗試了各種策略來通過更改內容類型來上傳我的文件,但唯一支持的內容類型是“圖像”。我什至嘗試將文件擴展名更改為“phar”或“php5”,但這些嘗試也失敗了。
第三種情況
啟動架構允許用戶為他們的賬戶定義一個或多個公司并輸入他們的信息,使他們能夠通過啟動想法來操作它們。每個用戶都分配了一個 ID,表示為u_wdobhREkbf。同樣,每個公司也有一個ID,是c_z8zI6a4unp。ID 之間的唯一區別是用戶 ID 以“u”開頭,而公司 ID 以“c”開頭。這種區別在初創公司架構的背景下是有意義的。
我嘗試的第三個場景是IDOR(不安全的直接對象引用)。在公司工作期間,我沒有注意數據庫中對象之間的關系,也忘記了包括檢查從對象中檢索的引用是否與用戶相關的驗證。為了測試漏洞,我創建了另一個賬戶并填寫了公司信息以獲取公司ID。
接下來,在以我以前的用戶身份登錄時,我編輯了我的個人資料,并將公司 ID 替換為我之前創建的公司的 ID。令我驚訝的是,我收到了一個包含 SQL 查詢錯誤的響應 API。我注意到在嘗試使用重復的電子郵件創建另一個帳戶時會觸發類似的 API。

雖然我嘗試的第三種方案最終失敗了,但它給了我很大的動力。API 返回了一個 SQL 查詢錯誤,這讓我感到震驚,這在正常情況下是不會發生的。
我最初對嘗試SQL 注入方法很感興趣,但我很快發現這家初創公司已經為其所有領域實施了準備好的語句,使其免受 SQL 注入攻擊。
最后一種情況
由于站點上有兩個用戶,我決定使用一個返回用戶信息的端點來測試站點的訪問控制,以查看一個用戶是否可以訪問另一個用戶的信息。我獲取了另一個用戶的 ID 并輸入了它,急切地想看看會發生什么。
我的發現令人驚訝。


訪問用戶信息端點后/main/api/v1/users/,我震驚地發現用戶的照片、電話號碼、簽名圖片、地址等敏感信息被泄露。然而,這一發現被一個重要的錯誤所掩蓋。
每個用戶 ID 都有一個前綴,用字母“u”表示,后跟隨機生成的 10 個字符的字符串。我意識到這些字符的所有可能組合的數量是驚人的——26 個小寫字母、26 個大寫字母和 10 個數字,每個位置有 62 種可能的選擇。這意味著可能的狀態總數達到驚人的 839,299,365,868,340,224——這個數字對于超級計算機來說也太大了。
盡管通過此端點泄露了敏感信息,但可能的用戶 ID 的龐大規模使得任何人都很難利用此漏洞。
所以在我到達這個終點之前沒有披露。/main/companies/search/findByNameIgnoreCaseContaining?q=&limit=20

該網站的一項功能允許用戶根據公司名稱搜索公司。搜索后,將返回包含搜索詞的最多 20 家公司的列表。然而,仔細檢查后,我注意到創建每個公司的人的用戶 ID 也包含在搜索結果中。這帶來了重大的安全風險,我決定進一步挖掘。
為了利用此漏洞,我設計開發了一種算法,該算法涉及創建一個包含所有可能的單字母、雙字母和三字母英語單詞組合的列表。
我使用 API 搜索每個組合并檢索相應的公司名稱和用戶 ID。接下來,我調用了提供用戶數據的API,傳入了上一步獲取的用戶ID。然后我將數據保存在一個 JSON 文件中。

由于此漏洞利用需要大量的 API 調用,我使用 Python 實現了該算法,并利用多線程來加快執行時間。
僅僅 10 分鐘后,我就暴露了超過 4 萬條敏感數據。
我立即向公司報告了這個問題,公司以1500美元的賞金表彰了我的努力。
這一經驗強調了徹底安全測試的重要性以及與看似無害的功能相關的潛在風險。
通過識別和解決此類漏洞,我們可以幫助確保為每個人提供更安全、更可靠的體驗。
安全圈
安全圈
HACK學習呀
商密君
公安部網安局
威脅獵人Threat Hunter
關鍵基礎設施安全應急響應中心
GoUpSec
E安全
一顆小胡椒
一顆小胡椒
GoUpSec