?

5個常見的Web應用漏洞及其解決方法

2013-04-18 03:30曾少寧
計算機與網絡 2013年12期
關鍵詞:身份驗證腳本攻擊者

本文介紹了5個最常見的W eb應用漏洞,以及企業該如何修復初級問題,對抗那些針對這些漏洞的攻擊。

注入攻擊和跨站腳本攻擊

W eb應用主要有2種最常見的嚴重缺陷。首先是各種形式的注入攻擊,其中包括SQL、操作系統、電子郵件和LDAP注入,它們的攻擊方式都是在發給應用的命令或查詢中夾帶惡意數據。別有用心的數據可以讓應用執行一些惡意命令或訪問未授權數據。如果網站使用用戶數據生成SQL查詢,而不檢查用戶數據的合法性,那么攻擊者就可能執行SQL注入。這樣攻擊者就可以直接向數據庫提交惡意SQL查詢和傳輸命令。舉例來說,索尼的PlayStation數據庫就曾經遭遇過SQL注入攻擊,并植入未授權代碼。

跨站腳本 (XSS)攻擊會將客戶端腳本代碼 (如JavaScript)注入到W eb應用的輸出中,從而攻擊應用的用戶。只要訪問受攻擊的輸出或頁面,瀏覽器就會執行代碼,讓攻擊者劫持用戶會話,將用戶重定向到一個惡意站點或者破壞網頁顯示效果。XSS攻擊很可能出現在動態生成的頁面內容中,通常應用會接受用戶提供的數據而沒有正確驗證或轉碼。

為了防御注入攻擊和XSS攻擊,應用程序應該配置為假定所有數據——無論是來自表單、URL、Cookie或應用的數據庫,都是不可信來源。要檢查所有處理用戶提供數據的代碼,保證它是有效的。驗證函數需要清理所有可能有惡意作用的字符或字符串,然后再將它傳給腳本和數據庫。要檢查輸入數據的類型、長度、格式和范圍。開發者應該使用現有的安全控制庫,如OWASP的企業安全API或微軟的反跨站腳本攻擊庫,而不要自行編寫驗證代碼。此外,一定要檢查所有從客戶端接受的值,進行過濾和編碼,然后再傳回給用戶。

身份驗證和會話管理被攻破

W eb應用程序必須處理用戶驗證,并建立會話跟蹤每一個用戶請求,因為HTTP本身不具備這個功能。除非任何時候所有的身份驗證信息和會話身份標識都進行加密,保證不受其他缺陷 (如XSS)的攻擊,否則攻擊者就有可能劫持一個激活的會話,偽裝成某個用戶的身份。如果一個攻擊者發現某個原始用戶未注銷的會話 (路過攻擊),那么所有帳號管理功能和事務都必須重新驗證,即使用戶有一個有效的會話ID。此外,在重要的事務中還應該考慮使用雙因子身份驗證。

為了發現身份驗證和會話管理問題,企業要以執行代碼檢查和滲透測試。開發者可以使用自動化代碼和漏洞掃描程序,發現潛在的安全問題。有一些地方通常需要特別注意,其中包括會話身份標識的處理方式和用戶修改用戶身份信息的方法。如果沒有預算購買商業版本,那么也可以使用許多開源和簡化版本軟件,它們可以發現一些需要更仔細檢查的代碼或進程。

不安全的直接對象引用

這是應用設計不當引起的另一個缺陷,它的根源是錯誤地假定用戶總是會遵循應用程序的規則。例如,如果用戶的帳號ID顯示在頁面的URL或隱藏域中,惡意用戶可能會猜測其他用戶的ID,然后再次提交請求訪問他們的數據,特別是當ID值是可以猜測的時候。防止這種漏洞的最佳方法是使用隨機、不可猜測的ID、文件名和對象名,而且不要暴露對象的真實名稱。常見的錯誤暴露數據的位置是URL和超鏈接、隱藏表單域、ASP.NET的未保護視圖狀態、 直接列表框、JavaScript代碼和客戶端對象(如Java Applet)。每次訪問敏感文件或內容時,都要驗證訪問數據的用戶已獲得授權。

安全性配置不當

支持W eb應用程序的基礎架構包含各種各樣的設備和軟件——服務器、防火墻、數據庫、操作系統和應用軟件。所有這些元素都必須正確配置和保證安全,應用程序只是運行在最低權限配置上,但是許多系統本身還不夠安全。系統管理不當的一個主要原因是W eb應用程序管理人員和基礎架構支持人員從未接受過必要的培訓。

為執行日常網絡應用管理的人員提供足夠的培訓和資源,這是在開發過程中所有階段保證安全性和保密性的重要條件。最后,要為W eb應用程序安排一個滲透測試,處理所有敏感數據。這是一種主動評估應用抵抗攻擊能力的方法,可以在受到攻擊前發現系統漏洞。

結束語

一直以來,這5種常見的W eb應用漏洞都是IT安全的痛處。它們并不是新漏洞,但是它們都沒有解決,在人們對W eb應用安全有足夠認識之前,攻擊者仍然會想盡辦法繼續利用這些缺陷發起偷盜、欺騙和網絡間諜等攻擊。

猜你喜歡
身份驗證腳本攻擊者
酒駕
基于微分博弈的追逃問題最優策略設計
安奇奇與小cool 龍(第二回)
數據庫系統shell腳本應用
正面迎接批判
快樂假期
有限次重復博弈下的網絡攻擊行為研究
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
身份驗證中基于主動外觀模型的手形匹配
ASP.NET中的Forms身份驗證的研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合