一、跨站點腳本,黑客插入腳本代碼(如JavaScript或ActiveX)到一個輸入字符串,致使Web服務器泄漏用戶名和密碼等信息。 二、SQL注入,一些應用程序經過複製Web客戶端輸入來建立數據庫查詢。黑客經過構造一些應用程序沒有仔細檢查和會被拒絕的字符串,來獲取返回的機密數據。 三、 操做系統命令注入,一些應用程序從web輸入來建立操做系統命令,就像訪問一個文件和顯示文件內容。若是輸入的字符串沒有仔細檢查機制,黑客就能夠建立輸入來顯示未經受權的數據、修改文件或系統參數。 四、會話劫持,黑客經過猜想基於令牌格式知識的會話令牌的內容來得到登陸會話的權利。這使得黑客能接管會話並能夠獲得原來的用戶賬戶信息。 篡改參數或URL:web應用程序一般在返回的的web頁面中嵌入參數和URL,或者用受權的參數更新緩存。黑客能夠修改這些參數、URL或緩存,使Web服務器返回不該泄漏的信息。 五、緩衝區溢出,應用程序代碼應該檢查輸入數據的長度,以確保輸入數據不會超出剩餘的緩衝區和修改相鄰的存儲。黑客很快就會發現應用程序不檢查溢出,並建立輸入來致使溢出。 Web應用防火牆檢查每個傳入的數據包的內容來檢測上述類型的攻擊。例如,web應用防火牆會掃描SQL查詢字符串,來檢測和刪除那些致使返回的數據多餘應用程序要求的字符串。web