后端技术:Web安全常见漏洞和修复建议,值得收藏!
一、SQL語句注入
1、請求服務器端要對用戶輸入的數據進行校驗。
2、在處理輸入之前,驗證所有客戶端請求的數據,包括請求參數、URL和HTTP頭的內容。
3、驗證輸入數據的類型、長度和數據格式是否正確。
4、使用白名單驗證允許的輸入字符而不是直接使用黑名單。
5、在敏感字符輸入后要進行轉義或編碼。
6、明確所有輸入正確的字符集。
7、避免動態拼接的SQL語句,如果使用要對特殊字符進行語法轉義。
8、給用戶設置滿足正常使用最小權限
二、XPath注入
1、服務器端開始處理用戶提交的請求數據之前,對輸入的數據進行驗證,驗證每一個參數的類型、長度和格式。
2、對于系統出現的錯誤信息,采用IE錯誤編碼信息替換,屏蔽操作系統的出錯信息,這樣可以向攻擊者提供更少的信息進行下一步注入攻擊。
3、及時檢查是否有特殊字符,如果有特殊字符 ,就轉義特殊字符或者替換。比如:單引號、雙音,都進行轉義或者替換。
4、XPath查詢參數化,編譯構建XPath表達式,將數據輸入以變量形式傳遞。
5、針對敏感信息如密碼之類,建議使用哈希值較長的算法處理。
三、操作系統命令注入
1、客戶端、服務器端都要進行命令過濾。
2、針對相應的用戶給最小的運行權限,最好可以指定到具體的目錄、明確使用的命令。
3、程序執行出錯時,不要顯示與內部實現相關的異常報錯細節。
4、針對運行有限的命令、建議使用白名單方式過濾。
5、針對需要用戶運行命令的請求,盡可能減小需要從外部輸入的數據。比如:如果傳參數的地方不要傳命令行。
6、有下載文件,給文件分配一個ID號來訪問文件,避免使用文件名來訪問。
四、JSON數據注入
1、特殊字符前加反斜杠()進行轉義
2、使用Javascript編碼
3、使用HTML編碼
五、XSS
1、在輸入過濾,在顯示的地方做輸出編碼。
2、使用一個統一的規則做輸出編碼
3、富文本編輯器,要使用白名單控制輸入。
4、使用HTTPOnly標志
六、CSRF
1、針對重要功能增加確認操作或重新認證,比如涉及支付、轉賬、修改手機號碼等涉及安全隱私的信息需要加驗證碼的方式進行確認
2、每個會話中使用強隨機令牌(token)來保護。
3、檢驗HTTP Referer是否合法
七、會話攻擊
1、采用強算法生成會話ID,會話ID必須具有隨機性和不可預測性,長度至少為128位。
2、設定會話過期時間,如:在一定時間內沒有與應用交互,設定在登錄特定時間內要重新登錄系統。
3、設置好Cookie的兩個屬性:secure和HttpOnly可以用來防御嗅探和阻止JS操作。
八、身份認證
1、用戶注冊時強制用戶輸入密碼強度較高的密碼。
2、用戶登錄系統,要進行次數限制,防止非法暴力破解用戶賬戶信息,比如登錄三次失敗后,要阻止當前用戶半個小時內不能再次嘗試登錄。
3、使用HTTPS請求傳輸身份驗證和密碼、身份證、手機號碼,郵箱等數據。
4、當用戶密碼重置時,以短信、或者郵件的方式通知用戶
5、用戶賬號上次使用信息在下一次成功登陸時向用戶提供登錄日志記錄。
6、在執行關鍵操作(如:修改登錄密碼、支付密碼、郵箱、手機號碼等)使用人臉識別等方式進行身份驗證。
九、Tomcat安全配置
1、Tomcat以沒有特權的用戶賬戶和組運行,沒有執行交互shell命令權限。
2、Tomcat運行的版本必須打了所有安全補丁的版本。
3、Tomcat默認的例子相關路徑和文件必須刪除。
4、Tomcat管理員默認密碼必須被修改成復雜密碼。
5、頁面出現信息不能顯示Tomcat的版本信息和系統信息。
6、Tomcat配置文件啟用安全的http方法,如:GET POST。
7、應用程序和管理程序建議使用不同的端口。
8、項目部署前刪除測試代碼文件。
9、刪除無用的文件如:備份文件、臨時文件等。
10、配置文件中不要出現使用默認用戶和密碼的情況。
11、不要在robot.txt中泄露目錄結構。
十、Apache安全配置
1、選擇漏洞較少的apache版本。
2、隱藏Apache版本號。
3、刪除Apache歡迎頁面。
4、配置只允許訪問Apache的Web目錄
5、應用程序和管理程序使用不同的端口。
6、管理控制臺必須使用SSL協議。
7、部署前刪除測試代碼文件。
8、刪除無用的文件如:備份文件、臨時文件等。
9、配置文件中沒有默認用戶和密碼。
10、不要在robot.txt中泄露目錄結構。
十一、數據庫通用配置
1、線上環境不要使用數據庫默認用戶名和密碼。
2、數據庫用戶的密碼要符合一定的復雜度。
3、訪問數據庫的用戶要賦予所需要的最小權限。
十二、繞過認證
1、對登錄后可以訪問的URL做是否登錄檢查,如果沒有登錄過,應該跳轉到系統的登錄頁面。
2、對于敏感信息的請求如登錄時、修改密碼等請求一定要用HTTPS協議。
十三、文件上傳
1、上傳的路徑要限制在固定路徑下。
2、上傳文件路徑只給只讀和寫權限,不需要執行權限。
3、服務端文件類型要使用白名單過濾,后臺不應有添加擴展名類型功能;通過配置文件調整支持上傳的文件類型。
4、文件上傳使用自己的命名規則重新命名上傳的文件。
IT技術分享社區
個人博客網站:https://programmerblog.xyz
文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識
總結
以上是生活随笔為你收集整理的后端技术:Web安全常见漏洞和修复建议,值得收藏!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Wifidog 认证
- 下一篇: Mysql索引是有序的吗_mysql组合