首先了解一下驗證碼的認證流程
1.客戶端request登入頁面,然後後台生成驗證碼(後台使用演算法生成,並將response給客戶端,同時將演算法生成的值全域性賦值存到session中)
2.校驗驗證碼(客戶端將認證資訊和驗證碼一起提交,後台將提交的驗證碼與session中的作比較)
3.客戶端重新重新整理頁面,再次生成新的驗證碼(驗證碼演算法中一般包含隨機函式,每次重新整理都會改變)
驗證碼一般用來登入暴力破解和防止機器惡意註冊。
驗證碼繞過——on client
1.我們可以看到驗證碼繞過的關卡中在登陸時多了乙個驗證碼的驗證登入。我們首先先實驗一下看看是否存在暴力破解。
我們可以看到在不輸入驗證碼,輸入爭取驗證碼和輸入錯誤驗證碼時的情況。可以看到驗證碼輸入正確的時候,會提示使用者名稱和密碼錯誤。
2.我們首先檢視一下網路原始碼,可以看到驗證碼的重新整理和驗證是通過前端的js實現的。在單機時呼叫驗證碼生成的函式。
3.我們開啟burp suite軟體,將剛剛驗證碼輸入正確的請求提交到repeater中去。然後我們將剛剛正確的驗證碼改為一串亂碼。可以看到提示我們的還是使用者名稱和密碼不存在,這說明後端對驗證碼根本沒有進行驗證,只是前端的js對驗證碼進行了簡單的驗證,只能誆騙不懂技術的人員。
4.在確定驗證碼只是前端的乙個幌子以後,我們的暴力破解步驟就跟之前一樣的,我們先將post請求傳送到intruder中,然後使用cluster bomb選項暴力破解,選擇合適的字典。(具體步驟與上一條部落格相同就不多做解釋了)我們將暴力破解的長度進行排序可以的到正確的賬號和密碼了。
驗證碼繞過——on server
在服務端驗證碼也會存在許多問題,如驗證碼不過期可以被無限次使用,驗證碼校驗不合格,或者驗證碼生成太過簡單有規律很容易被猜解。、
1.首先我們還是在pikachu上確定驗證碼的有效性。還是分別測試驗證碼為空,錯誤和正確的三種情況。可以看到驗證碼輸入正確的時候,會提示我們使用者名稱或密碼錯誤。
2.在burp suite傳送到repeater中去看後台到底有沒有對驗證碼進行驗證。我們可以看到驗證碼為空和驗證碼輸入錯誤的時候都會有相關的提示,說明後台還是對驗證碼做了驗證的。
3.我們再來看一下驗證碼是否存在不過期的問題,我們現在網頁上獲取乙個新的驗證碼,輸入正確的驗證麼,在burp suite中提交到repeater中去。我們可以看到輸入正確的使用者名稱和密碼時提示使用者名稱或者密碼不存在,當我們在repeaterl裡面修改使用者名稱或者密碼的時候依然提示使用者名稱或密碼不存在,說明驗證碼存在不過期的問題。
4.我們可以利用驗證碼不過期的漏洞,一直使用乙個驗證碼來破解使用者名稱和密碼。只需提交到intruder中按照上述步驟暴力破解,過程不再詳述,最後利用不過期的驗證碼得到正確的賬號密碼。
pikachu 暴力破解
1 驗證碼繞過 on server 先看看提示,提示說驗證碼好像一直有效,那麼這個驗證碼可能只需要驗證一次之後可以重複利用 檢視一下後端 if isset post submit else else else else else else 給了一些提示,發現驗證完驗證碼之後 session vcod...
pikachu之暴力破解
試了幾個弱口令,都沒有用,那就直接用bp吧 得到密碼嘗試登陸,第一關就解決了 多次修改賬號密碼,發現驗證碼不再被校驗,可被重複使用 那就利用這個漏洞,繼續爆破 嘗試登陸,第二關就解決了 輸入的驗證碼是通過前端的js進行驗證的,可以很輕鬆的繞過 會發現輸入錯誤的驗證碼和不輸入驗證碼,都沒有對驗證碼進行...
pikachu靶場 暴力破解
接下來我們開始進入pikachu的學習了。將其放入www檔案下即可,在此我就不贅述了,網上的教程很多。暴力破解 burte force 暴力破解 概述 暴力破解 是一攻擊具手段,在web攻擊中,一般會使用這種手段對應用系統的認證資訊進行獲取。其過程就是使用大量的認證資訊在認證介面進行嘗試登入,直到得...