從業滲透測試服務已經有十幾年了,在對客戶網站進行漏洞檢測,安全滲透時,尤其網站用戶登錄功能上發現的漏洞很多,想總結一下在滲透測試過程中,網站登錄功能上都存在哪些網站安全隱患,下面就有請我們SINE安全的工程師老陳來給大家總結一下,讓大家都有更好的了解網站,在對自己網站進行開發的過程中,尤其用戶登錄功能上做好網站安全防護,防止網站被攻擊。
網站登錄有安全驗證與效驗,從分支上又可以分出其他代碼功能,包括用戶注冊,忘記密碼,用戶登錄框,修改密碼,驗證碼(圖片以及短信驗證碼,郵箱驗證碼等功能),用戶登錄信息安全提示,密碼錯誤還是輸入的賬號不對,以及賬號頻繁登錄的鎖定安全機制功能,大大小小的功能組成了網站的登錄功能。那么我們SINE安全在對客戶網站進行滲透測試服務的時候,在網站登錄功能里到底發現那些致命的漏洞?下面我們來詳細的舉例說明:
第一我們從較簡單的一個用戶登錄框上來說,很多客戶網站并沒有對用戶前端輸入的參數值進行安全過濾,導致賬戶名字與密碼里可以插入惡意的參數值,導致SQL注入漏洞的發生,再一個就是使用萬能的密碼進行登錄,可以繞過數據庫,直接登錄網站。SINE安全是如何幫用戶修復這個SQL注入漏洞呢?針對SQL注入的修復辦法是:對用戶登錄的賬號密碼字段的參數值進行預編譯,不允許特殊字符的輸入與傳輸,在代碼里寫入get,post,cookies提交方式的安全攔截,發現惡意的字符包括<,>,\,/,,,",select,update,@,等等進行攔截,并返回錯誤提示,對特定的sql語句在代碼里進行預編譯,禁止多余的參數插入到賬號與密碼字段中。
用戶ID與密碼被暴力破解,很多客戶網站并沒有對網站的登錄進行安全判斷,導致攻擊者可以隨意的對其進行任意的賬號密碼嘗試登錄,有些甚至有密碼字典,可以不斷去猜解用戶的ID與密碼,導致網站用戶被惡意登錄,資料惡意篡改等情況發生。對這種滲透中發現的漏洞我們SINE安全的修復辦法是:增加驗證碼功能(圖片驗證碼,或者是短信驗證碼),每次登錄都必須輸入對的驗證碼,如果驗證碼不對那就不允許登錄,也可以將驗證碼做時間的限制,30秒才能重新獲取。 再一個對用戶ID輸入錯誤的提示,可以混淆攻擊者的視線,提示是密碼錯誤。在用戶登錄次數達到6次以上直接鎖定該賬戶的登錄。
XSS跨站攻擊漏洞也會在用戶登錄框中發生,比較常見的就是用戶名的參數值中,有些客戶網站沒有對XSS惡意代碼進行安全效驗,導致可以輸入錯誤的賬號進行登錄,當錯誤登錄的時候,后臺有可能會有錯誤的用戶登錄記錄,包括post數據包里網站來源都會插入XSS攻擊代碼,導致管理員在查看用戶登錄錯誤日志的時候觸發XSS漏洞。XSS跨站漏洞可以獲取用戶的cookies值,以及網站后臺的地址,并可以將瀏覽器打開后臺進行截圖等功能,如何修復XSS跨站漏洞?對get,post,cookies的提交方式進行安全過濾,攔截掉<,>,,img,"",等字符。
任意用戶注冊漏洞也會在網站登錄功能上發生,可以用來猜測網站是否有注冊過該用戶名,進行批量的暴力枚舉。對注冊使用的驗證碼進行繞過,使用正確的短信驗證碼提交注冊即可繞過注冊,手機以及郵箱的驗證碼過于太短,導致暴力破解,針對于這樣的網站漏洞我們SINE安全的修復建議是對驗證碼和注冊信息進行同步請求,對驗證碼進行驗證是否正確,然后再來確定注冊的信息是否與驗證碼是一體的。
還有很多網站功能在滲透測試過程中出現的漏洞,這里總結的是上部分,下一部分我們將會在下一篇文章中跟大家揭曉,也希望這些的滲透測試分享能讓大家對網站的安全有所了解,只有真正的了解了自己的網站,才能把安全做好,知彼知己百戰不殆。在網站上線以及發生安全問題后,一定要做滲透測試服務,提前檢測網站存在的漏洞,以及模擬攻擊者的手法去查找漏洞根源,防患于未然,國內做的比較專業網站滲透測試公司推薦Sinesafe,綠盟,啟明星辰等等專業的安全公司都是比較不錯的。
產品推薦