一個登入點兩個邏輯漏洞-edusrc

飛_揚跋扈發表於2022-05-08

最近呢, 也是基礎漏洞學的差不多了, 就在edusrc上面實戰, 剛開始搞一些資訊洩漏啥的, 提交了十幾個, 結果就他孃的通過了一個. 我們也就不碰資訊洩漏了, 沒得意思.

 

關於這個學校測試時也是有坑的, 剛開始找到的統一平臺地址登入過之後是廢棄的, 我當時就以為這後臺是不是不用了, 然後過了一兩個小時, 我在做資產蒐集的時候, 又發現了一個一樣的登入點, 但是目錄不一樣了, 才發現這狗日的資料是通用的, 但是修改後跳轉的登入頁面確實假的. 

 

第一個漏洞: 修改密碼判斷不嚴謹.

這個就是常說的邏輯漏洞, 修改使用者密碼. 功能點是在首頁的忘記密碼處,

這個漏洞利用還是有條件的, 需要學號+繫結的郵箱. 因為我是有個朋友在這個學校上學, 我就通過: site: xxx.edu.cn "我朋友的名字"找他了他的學號. 在通過他的QQ確定了郵箱. 當然了, 這個過程我是沒有聯絡他的啊.

 

利用方式也很簡單, 選擇驗證方式-> 確認賬戶, 確認賬戶的時候就把學號+繫結的郵箱輸入進去就行了, 進入到認證的時候, 傳送驗證碼的時候抓包吧收件郵箱改成自己的就可以了.

 

 

 

在輸入完驗證碼點選下一步的時候又進行了一次郵箱的修改, 這個時候後臺判斷的應該是傳送得郵箱+驗證碼, 所以還是要把自己的郵箱寫上去.

 

 

 後面就不需要在修改了, 正常輸入新密碼就可以了, 修改完成以後就是之前說的, 跳轉到了廢棄的那個登入頁, 他媽的. 以後長記性了

 

第二個漏洞: 前端給的許可權太大. 修改返回包. 這個就是任意密碼修改了, 想改誰就改誰.

算是第一個漏洞的延伸吧, 我在之前的基礎上又測了一下, 測試了一下登入成功的返回包和失敗的返回包, 看一下吧

登入成功的返回包

 

 

 

 

 

 

 

登入失敗的返回包

 

 

 

我是想做直接越權登入的, 但是這個裡有一個loginId無法繞過去, 因此無法正常顯示登入成功的內容. 但是這裡發現了一個叫isFirstLogin的值, 在他的登入頁又看到了第一次登入會強制修改密碼,   這裡返回的false, 也就是說不是第一次, 那要是改成true呢?

{

  "isBindPhoneFlag":true,

  "loginId":"0d288066c83211eb9f2c55dbec8ac3d2",

  "isFirstLogin":false,
  "phone":"************",  手動打碼   "success":true,   "username":"21914101016" }

 

 

 

這裡我是借鑑登入成功的那個包, 內容都是亂寫的, 主要是在isfirstlogin, 成功跳轉到首頁密碼修改.

 

 

 

 

 

這裡就算是結束了, 前面說的這玩意給的許可權太大了, 你說你把修改密碼這個大的許可權放在前端幹嘛, 其實這裡完全還可以再次擴大, 很明顯, 修改密碼是有一個介面的, 而這個介面沒有做任何判斷, 因此, 在修改密碼提交的時候, 還可以抓個包

 

 

 這裡嘗試一下隨便修改學號, 也是可以修改成功的,    這種介面沒有絲毫的判斷, 不知道該怎麼去形容了.

 

 

 

總結一點: 細心細心, 還是他媽的細心. 什麼點都測一下, 返回包的內容都看一下, 可控的引數, 返回包感覺有問題的引數. 都改改試試看, 總會有意想不到的收穫.

 

相關文章