close

如何不花一分錢獲得高級賬戶

我在 bugcrowd 上的一個私人程序中發現了一個錯誤。為方便程序隱私,方便讀者理解,我將其命名為marzuki.com

marzuki.com 有兩個帳戶等級,免費和高級,這裡沒有試用版。用戶必須以每月 50 美元的價格購買訂閱才能成為高級會員。幾周前,我測試了marzuki.com,但錯過了註冊的端點,註冊時出現了這個bug。有一個易受攻擊的參數導致攻擊者無需支付即可獲得高級帳戶

OK,我們進入枚舉步驟找參數。您可以使用 param miner(現在支持 POST json 參數)。

插件地址:

https://github.com/xnl-h4ck3r/burp-extensions

您可以使用 Logger++ burp 插件查看進度。

您還可以使用 arjun 或其他工具進行參數發現。

非易受攻擊的請求

在我運行param miner 並發現隱藏參數和此升級帳戶到高級版後請求,無需支付一分錢

漏洞報告已發送,並在三天內給予賞金

隱藏參數的挖掘技巧

現在我希望你明白為什麼檢測隱藏參數很重要;它可以幫助您找到 XSS、IDOR、SSRF、權限提升、LFI、Open Redirects 等漏洞。即使在某些情況下 PII 泄漏 ,很多人都錯過了。

隱藏參數測試方法

讓我們從方法論開始吧!這很簡單「到處猜!」,開個玩笑「不要打掛服務器。」

何時何地進行模糊測試:

每當您看到一個空白頁面並得到200 OK響應時。

在常見的請求上,例如:login.php?Fuzz_Here或/login?FUZZ_Here

並且 Uncommon Endpoints 是必須的

例如:/Thisendpointmakesnosense.php?FUZZ或/something?Fuzz

此外,還有在其請求中已經包含許多參數的功能。

我通常將端點提供給 burp 中的 parm-miner 以便在中繼器中對其進行測試時進行猜測,如果 param-miner 沒有發現任何內容,我會在Burp intruder 或其他工具(如x8或Arjun )中使用一些單詞表。在進行模糊測試時,要記住的是限制您正在使用的工具中的參數和線程的數量,並確保程序允許進行模糊測試。

總體要做什麼:

選擇最吸引人的目標端點。使用單詞表,將其發送到 Tool for Fuzzing Params。如果輸出中有任何東西,請手動測試 XSS、SSRF、權限提升等。

隱藏參數字典

我遵循下面列出的順序,但可能會因目標而異。我通常會使用 param-miner 和 Arjun Default Wordlist 找到一些東西

Arjun 所有默認詞表:https://github.com/s0md3v/Arjun/tree/master/arjun/db 參數礦工「參數」:https://github.com/PortSwigger/param-miner/blob/master/resources/params 資產注釋「parameters_top_1m」:https://wordlists.assetnote.io/nullenc0de 「params.txt」:https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773

您可以將所有這些結合起來製作最終的字典。Github上還有更多;這些只是我經常使用的部分參考!

自定義字典:

可以使用公共字典,但有時需要自定義目標特定字典。現在,當我在大範圍內工作或有很多目標要在範圍內進行測試時,我通常會使用它。因為某些參數偶爾會在特定的子域中使用,但由於開發者喜歡複製粘貼程序,它們也可能在另一個目標上起作用。

cat urls | unfurl format %q | cut -d "=" -f1 | sort -u > params.txt

現在,這是其中一種方法,但是如果我告訴你有更好的方法呢,好吧,我要與你分享的這個方法是使用 Burp 本身,這個方法的唯一問題是它很慢因為你需要手動爬取網站,但如果你有 Burp Pro,這可以克服。

您將需要getAllParams擴展,您可以將其安裝在 Burp Pro中。

步驟

安裝和配置擴展。

https://github.com/xnl-h4ck3r/burp-extensions

手動或自動抓取目標。

轉到 Burp Target 選項卡,選擇要為其構建字典的域,右鍵單擊,然後從列表中選擇「獲取所有參數」

Target -> Extension -> Get All Params

現在,導航到「獲取所有參數」選項卡並複製「找到的潛在參數」下顯示的所有參數並將它們粘貼到文本文件中。

常用測試隱藏參數的工具

這些是對我有用的工具;如果你有其他的,你也可以使用它們。

x8:https://github.com/Sh1Yo/x8 Arjun:https://github.com/s0md3v/Arjun param礦工:https://github.com/PortSwigger/param-miner parameth:https://github.com/maK-/parameth

這是一個比較上述前三個工具優劣的文章:

https://sh1yo.art/post/parameter_discovery_tools_comparison/

您也可以使用其他工具,例如 ffuf 甚至是 burp intruder 本身,但我喜歡使用專門為這項工作設計的工具。

結論

參數發現可能非常有用,但許多人忽略或沒有意識到它,他們經常忘記或忘記何時執行它。如果您想找到那些隱藏的錯誤,這可能是一個很好的開始。有了這個,我想結束,我希望你在下一次挖洞中獲得意想不到的驚喜。

當你測試一個程序時,不要錯過任何功能,我之前在幾周前測試過這個程序但錯過了註冊功能。嘗試像普通用戶一樣瀏覽,瀏覽所有可用的功能,然後考慮不應該發生的事情。嘗試對任何請求 GET/POST/PATCH/PUT 進行模糊測試。查找隱藏參數是一個好方法。

推薦閱讀:

實戰 | 記一次對鄰居家的滲透測試

實戰 | 記一次賞金20萬美元的PayPal漏洞挖掘

實戰 | 記一次觀看YouTube視頻,收穫一枚價值4300美金的SQL注入

實戰 | WAF-Bypass之SQL注入繞過思路總結

點讚,轉發,在看

部分參考來源:medium

由HACK整理翻譯,如需轉載請註明來源

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()