天天看點

網站安全之驗證碼安全檢測與漏洞修複

在對網站安全進行整體的安全檢測的時候,使用者登陸以及使用者留言,評論,設定支付密碼,以及一些網站功能方面都會用到圖檔驗證碼,針對于驗證碼我們對其進行了詳細的網站安全檢測,以及圖檔驗證碼安全防護方面,都會詳細的跟大家講解一下。驗證碼分很多種,圖檔形式的驗證碼是目前網站用的最多的,還有一些短信的驗證碼,手機語言驗證碼,答題驗證碼,都是屬于網站所用到的驗證碼,今天主要跟大家講解的就是圖檔驗證碼。

網站安全之驗證碼安全檢測與漏洞修複

首先要了解一下什麼是圖檔驗證碼,英文叫"CAPTCHA",其作用就是防止使用者對網站進行惡意的登陸以及暴力破解,防止一些惡意的使用者對網站進行多次的重複性的攻擊,比如:留言,評論,點選,刷票,嘗試性的用弱密碼去登陸使用者的賬号,針對這些網站攻擊,圖檔驗證碼很好的進行了阻止,防止了惡意攻擊。

圖檔驗證碼生成的流程,我們來看下這個圖:

網站安全之驗證碼安全檢測與漏洞修複

首先使用者會去請求這個圖檔驗證碼,第一次會在資料庫裡生成一個相應的session值,然後傳回給使用者一個圖檔驗證碼,客戶看到圖檔裡的驗證碼,會手動錄入進去,并點登陸,驗證碼會第二次的請求到伺服器中,伺服器後端收到請求後會進行安全對比,與資料庫裡的session進行比對,如果值是一樣的,那麼就會判定驗證碼成功,反之如果不對那麼就會把第一次儲存的session值進行删除操作,防止機器人對其進行暴力的猜解,因為驗證碼唯一,隻能驗證一次,多次驗證就會失效。

我們在對網站驗證碼安全檢測的同時,會出現很多安全方面的隐患,以及驗證碼的漏洞,比較常出現的就是網站的驗證碼重複利用漏洞,該驗證碼漏洞可以導緻攻擊者對其複制,重複使用一個驗證碼,進而對使用者的賬号密碼進行暴力破解。攻擊的特征是POST資料裡的session值不變,以及驗證碼也不變,唯一變的就是使用者的賬号以及密碼。

網站安全之驗證碼安全檢測與漏洞修複

圖檔驗證碼的預設配置導緻存放位置被洩露,這個驗證碼漏洞的産生原因主要是把session這個值寫到了網站檔案目錄裡,以及一些cookies值都會寫到圖檔檔案裡。另外一種驗證碼的漏洞是驗證碼在對比後,會再進行一次對比,導緻不停的進行邏輯運算,多次的請求驗證碼,會導緻整個驗證碼對比失敗。

在對其他網站進行驗證碼安全檢測時,也發現了一種驗證碼上的安全問題,驗證驗證碼後,并沒有将驗證碼删除,導緻可以重複使用,應該對其驗證碼效驗的時候進行傳回MD5值,每個請求的傳回都不相同,防止使用者密碼遭到暴力破解。