1、驗證碼繞過
- 首先使用BP抓取一個提交註冊的數據包,數據包中有賬號密碼手機號以及驗證碼字段,當然驗證碼字段可隨意填寫,目的是爲繞過前端的驗證碼。
- 字段不能爲空的校驗
把攔截的數據包發送到Repeater模塊,繼續操作
- 這裏注意,呀測試驗證碼繞過,就是測試不發送驗證碼看能否繼續執行下一步,所以要知道發送正確數據包後下一步是什麼。所以可以先發送正常數據包,查看返回包信息,或者跳轉的頁面信息
- 知道正常結果就可以測試驗證碼繞過的情況了
- 測試是否存在驗證碼繞過,只需要刪除數據包中的驗證碼字段,然後再次發送數據包,看能否仍然繼續下一步操作。
- 在沒有驗證碼的情況下依然跳轉到了下一步的頁面,說明存在驗證碼繞過漏洞
2、驗證碼泄露
- 驗證碼泄露又可以稱爲驗證碼前端回顯。就是在驗證碼發送到手機中的同時,還在前端頁面回顯
- 先填寫註冊信息,然後子點擊發送驗證碼的同時,使用BP進行抓包攔截
- 抓到數據包後先確認是否是我們要抓取的數據包。首先判斷數據包中是否存在我們之前填寫的字段內容,其次判斷是否爲我們想要進行操作的數據包
- 確認數據包後,發送到Repeater模塊
- 這裏的操作就非常簡單了,只需要把我們要發送的獲取驗證碼的數據包發送出去就可以了。同時觀察返回包中的數據,查找是否存在有驗證碼字段,若是存在驗證碼,說明就存在驗證碼泄露。反之則正常。
3、驗證碼爆破
- 我們模擬一次驗證碼的爆破,首先要爆破驗證碼就要知道驗證碼的位數。和組合形式,爆破的情況僅限於數字驗證碼,而且驗證碼一般都是失效的
- 註冊時點擊獲取驗證碼後,隨意填入和驗證碼等位的一串數字,提交數據包同時進行抓包操作
- 查看抓取的數據包,確定是我們要爆破驗證碼的數據包,然後發送到intruder進行爆破
- 首先要清楚 被標記的字段符號
- 然後選中要爆破的驗證碼字段,添加標記
- 進入payloads模塊中
- 我們要爆破的是4位數的數字驗證碼,在這裏可以利用BP自帶模塊進行遍歷4位數數字驗證碼的所有情況
- BP的輔助功能還是很多的
- 這是完成要遍歷的驗證碼,點擊start ttack 開始進行爆破
- 因爲正確的驗證碼結果是唯一的,所以可以通過返回包的長度值來區分爆破是否成功
- 此處可以看出返回包長度爲309的時候,返回包顯示“驗證碼錯誤”
- 所以所有返回長度309的返回包都是一個返回結果
- 返回包長度是341時,返回包中提示“此用戶名已經被使用”
- 雖然這次提交沒有註冊成功,但是很明顯驗證碼爆破是成功的。數據包已經成功提交到了服務器進行判斷
4、驗證碼短信轟炸
- 首先還是先填寫一個註冊申請,在點擊獲取驗證碼同時,BP抓包
- 所謂短信驗證碼轟炸,就是不間斷髮送驗證碼短信,造成騷擾
- 查看數據包,確認是我們要獲取驗證碼的數據包
- 先把數據包發送到Repeater模塊
- 在Repeater模塊直接連續發送數據包2次,查看2次發送數據包是否都能正常接收到驗證碼,或者返回包中的字段均爲驗證碼發送成功的字段,則說明存在短信轟炸
- 把抓取的數據包發送到intruder模塊進行操作
- 在數據包中添加id=1的數據,並在intruder模塊中選中爲遍歷字段
- 進入payload中進行遍歷操作
- 添加或導入遍歷的數字,開始進行遍歷攻擊
- 添加id=1字段的目的就是可以進行遍歷發送數據包
- 通過每個數據包的返回包中得出,每個數據包都正常獲取了短信驗證碼
- 所以此處存在短信驗證碼轟炸的情況