網站安全檢測之圖片驗證碼

在對網站安全進行總體的安全檢測的時候,用戶登錄以及用戶留言,評論,設置支付密碼,以及一些網站功能方面都會用到圖片驗證碼,針對於驗證碼咱們SINE安全對其進行了詳細的網站安全檢測,以及圖片驗證碼安全防禦方面,都會詳細的跟你們講解一下。驗證碼分不少種,圖片形式的驗證碼是目前網站用的最多的,還有一些短信的驗證碼,手機語言驗證碼,答題驗證碼,都是屬於網站所用到的驗證碼,今天主要跟你們講解的就是圖片驗證碼。數據庫

首先要了解一下什麼是圖片驗證碼,英文叫"CAPTCHA",其做用就是防止用戶對網站進行惡意的登錄以及暴力破jie,防止一些惡意的用戶對網站進行屢次的重複性的攻擊,好比:留言,評論,點擊,刷票,嘗試性的用弱口令去登錄用戶的帳號,針對這些網站攻擊,圖片驗證碼很好的進行了阻止,防止了惡意攻擊。後端

圖片驗證碼生成的流程,咱們來看下這個圖:安全

首先用戶會去請求這個圖片驗證碼,第一次會在數據庫裏生成一個相應的session值,而後返回給用戶一個圖片驗證碼,客戶看到圖片裏的驗證碼,會手動錄入進去,並點登錄,驗證碼會第二次的請求到服務器中,服務器後端收到請求後會進行安全對比,與數據庫裏的session進行比對,若是值是同樣的,那麼就會斷定驗證碼成功,反之若是不對那麼就會把第一次保存的session值進行刪除操做,防止機器人對其進行暴力的猜解,由於驗證碼惟一,只能驗證一次,屢次驗證就會失效。服務器

咱們SINE安全在對網站驗證碼安全檢測的同時,會出現不少安全方面的隱患,以及驗證碼的漏洞,比較常出現的就是網站的驗證碼重複利用漏洞,該驗證碼漏洞能夠致使攻擊者對其複製,重複使用一個驗證碼,進而對用戶的帳號密碼進行暴力破jie。攻擊的特徵是POST數據裏的session值不變,以及驗證碼也不變,惟一變的就是用戶的帳號以及密碼。cookie

圖片驗證碼的默認配置致使存放位置被泄露,這個驗證碼漏洞的產生緣由主要是把session這個值寫到了網站文件目錄裏,以及一些cookies值都會寫到圖片文件裏。另一種驗證碼的漏洞是驗證碼在對比後,會再進行一次對比,致使不停的進行邏輯運算,屢次的請求驗證碼,會致使整個驗證碼對比失敗。session

在對其餘網站進行驗證碼安全檢測時,也發現了一種驗證碼上的安全問題,驗證驗證碼後,並無將驗證碼刪除,致使能夠重複使用,應該對其驗證碼效驗的時候進行返回MD5值,每一個請求的返回都不相同,防止用戶密碼遭到暴力破jie。網站

甚至目前有些網站使用的圖片驗證碼都會遭到軟件的自動識別,有些圖片識別技術使用的是一些第三方的資源,會對圖片裏的字母進行識別並自動填入到輸入框中,能夠對其進行暴力破jie。3d

針對於驗證碼安全的防禦以及漏洞修復方案blog

對驗證碼的安全時效時間進行安全限制,通常限制30秒或者50秒之間失效,對於同一IP在同一時間進行屢次的驗證碼請求頻率上作安全防禦,限制1分鐘請求的次數或者是10分鐘內的請求次數。對於圖片驗證碼的圖片進行噪點渲染,防止圖片被團建OCR自動識別。圖片

相關文章
相關標籤/搜索