如何對網站登錄進行漏洞測試以及漏洞修復
- 2019 年 11 月 27 日
- 筆記
從業滲透測試服務已經有十幾年了,在對客戶網站進行漏洞檢測,安全滲透時,尤其網站用戶登錄功能上發現的漏洞很多,想總結一下在滲透測試過程中,網站登錄功能上都存在哪些網站安全隱患,下面就有請我們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,綠盟,啟明星辰等等專業的安全公司都是比較不錯的。