業務邏輯漏洞挖掘隨筆開篇【身份認證篇】


在廠家的時候出來跟客戶聊安全,老是喜歡把漏洞分為“傳統漏洞”、“業務邏輯漏洞”。現在聽到這詞還蠻新鮮的。最近要讓學弟們去幫忙挖漏洞,結合自己的測試經驗順便給他們歸納了下業務邏輯挖掘,於是有了本文....

 

由於這些年的測試並沒有完整的匯總滲透案例中的圖片,個別有的報告也屬於客戶隱私不好曬出來。沒法圖文並茂所以只能想到哪說到哪了。以文字描述為主。

思路:

  1.概況:個人理解來說挖掘業務邏輯要先熟悉目標系統的“業務”。你可以動動鼠標流量下模板系統的大致功能和數據傳輸方式。這就像代碼審計一樣。先翻翻目錄,整體了解下源碼構造(總得知道函數放哪里、配置放哪里吧)。然后也可以本地把源碼搭起來,從業務(功能)的角度去分析他。

  2.不走尋常路:接觸安全后就算是業余瀏覽網站,碰到些奇怪的url時會不自覺的加個單引號試試(好像沒救了....)。也就是說要保持顆“好奇心”。大膽假設,謹慎驗證。

  3.善於總結:一個朋友當年的一句話讓我印象深刻。“這個站看起來就像有洞的樣子...”

 

為了不那么空洞,網上盜個圖先(圖上的提綱是別人總結的。但我會根據這些提綱分享自己的體會...):

 

 純科普,大牛請無視

 

暴力破解:

實習的時候幫客戶檢查系統,當實在沒找到漏洞的時候最愛挑這個毛病,“該系統可被暴力破解”。因為內網中這問題比比皆是,暴力破解確實是個敲門磚。

  01:沒有驗證碼

    

    可選工具:burpsuite

       

 

      當然了,也可以選擇同時爆破多個參數

 

02:形同虛設的驗證碼      

   另一種情況是有驗證碼,但是驗證碼卻可以被重復利用。最簡單的判斷就是重復刷新頁面,你會發現驗證碼沒有改變。這類的目標你可以嘗試下爆破。

   還曾經見過內網中的一套系統,有驗證碼,但是在抓包后,把驗證碼刪掉。即使在沒有驗證碼的情況下也能提交成功。

 

session & cookie類

  會話固定攻擊:利用服務器的session不變機制,借他人之手獲得認證和授權,冒充他人。

  場景一:某系統認證登錄后,session存在於url中。我們通過偽造一個session+url的鏈接。發給對方,對方通過這個鏈接登錄后。測試者本地即可直接利用該session。

  場景二:在CTF比賽中和早期一些低級的留言系統可以碰到。用戶是否具備訪問權限,僅僅通過cookie中的參數來判斷。此時,uid=admin,即可賦予admin的權限。(不要覺得傻逼,還真有==)

      

 

 都是JS惹的禍:

  場景一:給客戶做安全培訓的時候必講的一個題。可以理解成越權訪問。在未登陸的情況下直接訪問某些管理員頁面,會提示”未登陸,請重新登陸“然后跳轉到登陸頁面。這時候只要將瀏覽器的js禁用即可。這個問題在某國企多年內網漏洞挖掘中也發現多次。

  場景二:在給某客戶做安全評估,一套圖書館系統。都快睡着了。開着burpsuite一邊抓包一邊瀏(踩)覽(點)頁面。在登錄框輸入一個存在的賬號后發現有提交請求一次(看起來沒毛病)。右鍵查看源碼,問題來了。在密碼框原來的 value=“” 居然變成了 value=“邪惡的密碼”....。所以我已經猜到了這位開發同學的小九九。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM