常見的五個(gè)Web應(yīng)用漏洞介紹與其解決方法
本文介紹了5個(gè)最常見的Web應(yīng)用漏洞,以及企業(yè)該如何修復(fù)初級(jí)問題,對(duì)抗那些針對(duì)這些漏洞的攻擊。
注入攻擊和跨站腳本攻擊
Web應(yīng)用主要有2種最常見的嚴(yán)重缺陷。首先是各種形式的注入攻擊,其中包括SQL、操作系統(tǒng)、電子郵件和LDAP注入,它們的攻擊方式都是在發(fā)給應(yīng)用的命令或查詢中夾帶惡意數(shù)據(jù)。別有用心的數(shù)據(jù)可以讓應(yīng)用執(zhí)行一些惡意命令或訪問未授權(quán)數(shù)據(jù)。如果網(wǎng)站使用用戶數(shù)據(jù)生成SQL查詢,而不檢查用戶數(shù)據(jù)的合法性,那么攻擊者就可能執(zhí)行SQL注入。這樣攻擊者就可以直接向數(shù)據(jù)庫(kù)提交惡意SQL查詢和傳輸命令。舉例來(lái)說(shuō),索尼的PlayStation數(shù)據(jù)庫(kù)就曾經(jīng)遭遇過SQL注入攻擊,并植入未授權(quán)代碼。
跨站腳本(XSS)攻擊會(huì)將客戶端腳本代碼(如JavaScript)注入到Web應(yīng)用的輸出中,從而攻擊應(yīng)用的用戶。只要訪問受攻擊的輸出或頁(yè)面,瀏覽器就會(huì)執(zhí)行代碼,讓攻擊者劫持用戶會(huì)話,將用戶重定向到一個(gè)惡意站點(diǎn)或者破壞網(wǎng)頁(yè)顯示效果。XSS攻擊很可能出現(xiàn)在動(dòng)態(tài)生成的頁(yè)面內(nèi)容中,通常應(yīng)用會(huì)接受用戶提供的數(shù)據(jù)而沒有正確驗(yàn)證或轉(zhuǎn)碼。
為了防御注入攻擊和XSS攻擊,應(yīng)用程序應(yīng)該配置為假定所有數(shù)據(jù)——無(wú)論是來(lái)自表單、URL、Cookie或應(yīng)用的數(shù)據(jù)庫(kù),都是不可信來(lái)源。要檢查所有處理用戶提供數(shù)據(jù)的代碼,保證它是有效的。驗(yàn)證函數(shù)需要清理所有可能有惡意作用的字符或字符串,然后再將它傳給腳本和數(shù)據(jù)庫(kù)。要檢查輸入數(shù)據(jù)的類型、長(zhǎng)度、格式和范圍。開發(fā)者應(yīng)該使用現(xiàn)有的安全控制庫(kù),如OWASP的企業(yè)安全API或微軟的反跨站腳本攻擊庫(kù),而不要自行編寫驗(yàn)證代碼。此外,一定要檢查所有從客戶端接受的值,進(jìn)行過濾和編碼,然后再傳回給用戶。
身份驗(yàn)證和會(huì)話管理被攻破
Web應(yīng)用程序必須處理用戶驗(yàn)證,并建立會(huì)話跟蹤每一個(gè)用戶請(qǐng)求,因?yàn)镠TTP本身不具備這個(gè)功能。除非任何時(shí)候所有的身份驗(yàn)證信息和會(huì)話身份標(biāo)識(shí)都進(jìn)行加密,保證不受其他缺陷(如XSS)的攻擊,否則攻擊者就有可能劫持一個(gè)激活的會(huì)話,偽裝成某個(gè)用戶的身份。如果一個(gè)攻擊者發(fā)現(xiàn)某個(gè)原始用戶未注銷的會(huì)話(路過攻擊),那么所有帳號(hào)管理功能和事務(wù)都必須重新驗(yàn)證,即使用戶有一個(gè)有效的會(huì)話ID。此外,在重要的事務(wù)中還應(yīng)該考慮使用雙因子身份驗(yàn)證。
為了發(fā)現(xiàn)身份驗(yàn)證和會(huì)話管理問題,企業(yè)要以執(zhí)行代碼檢查和滲透測(cè)試。開發(fā)者可以使用自動(dòng)化代碼和漏洞掃描程序,發(fā)現(xiàn)潛在的安全問題。有一些地方通常需要特別注意,其中包括會(huì)話身份標(biāo)識(shí)的處理方式和用戶修改用戶身份信息的方法。如果沒有預(yù)算購(gòu)買商業(yè)版本,那么也可以使用許多開源和簡(jiǎn)化版本軟件,它們可以發(fā)現(xiàn)一些需要更仔細(xì)檢查的代碼或進(jìn)程。
不安全的直接對(duì)象引用
這是應(yīng)用設(shè)計(jì)不當(dāng)引起的另一個(gè)缺陷,它的根源是錯(cuò)誤地假定用戶總是會(huì)遵循應(yīng)用程序的規(guī)則。例如,如果用戶的帳號(hào)ID顯示在頁(yè)面的URL或隱藏域中,惡意用戶可能會(huì)猜測(cè)其他用戶的ID,然后再次提交請(qǐng)求訪問他們的數(shù)據(jù),特別是當(dāng)ID值是可以猜測(cè)的時(shí)候。防止這種漏洞的最佳方法是使用隨機(jī)、不可猜測(cè)的ID、文件名和對(duì)象名,而且不要暴露對(duì)象的真實(shí)名稱。常見的錯(cuò)誤暴露數(shù)據(jù)的位置是URL和超鏈接、隱藏表單域、ASP.NET的未保護(hù)視圖狀態(tài)、直接列表框、JavaScript代碼和客戶端對(duì)象(如Java Applet)。每次訪問敏感文件或內(nèi)容時(shí),都要驗(yàn)證訪問數(shù)據(jù)的用戶已獲得授權(quán)。
安全性配置不當(dāng)
支持Web應(yīng)用程序的基礎(chǔ)架構(gòu)包含各種各樣的設(shè)備和軟件——服務(wù)器、防火墻、數(shù)據(jù)庫(kù)、操作系統(tǒng)和應(yīng)用軟件。所有這些元素都必須正確配置和保證安全,應(yīng)用程序只是運(yùn)行在最低權(quán)限配置上,但是許多系統(tǒng)本身還不夠安全。系統(tǒng)管理不當(dāng)?shù)囊粋(gè)主要原因是Web應(yīng)用程序管理人員和基礎(chǔ)架構(gòu)支持人員從未接受過必要的培訓(xùn)。
為執(zhí)行日常網(wǎng)絡(luò)應(yīng)用管理的人員提供足夠的培訓(xùn)和資源,這是在開發(fā)過程中所有階段保證安全性和保密性的重要條件。最后,要為Web應(yīng)用程序安排一個(gè)滲透測(cè)試,處理所有敏感數(shù)據(jù)。這是一種主動(dòng)評(píng)估應(yīng)用抵抗攻擊能力的方法,可以在受到攻擊前發(fā)現(xiàn)系統(tǒng)漏洞。
結(jié)束語(yǔ)
一直以來(lái),這5種常見的Web應(yīng)用漏洞都是IT安全的痛處。它們并不是新漏洞 撬 嵌濟(jì)揮薪餼觶 諶嗣嵌訵eb應(yīng)用安全有足夠認(rèn)識(shí)之前,攻擊者仍然會(huì)想盡辦法繼續(xù)利用這些缺陷發(fā)起偷盜、欺騙和網(wǎng)絡(luò)間諜等攻擊。
本文由站河南北大青鳥校區(qū)整編而成,如需了解更多IT資訊類的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問題,可以對(duì)在線咨詢老師進(jìn)行一對(duì)一問答!
推薦資訊
- 鄭州那家技校好... 2019-02-21
- 鄭州計(jì)算機(jī)學(xué)校中專哪里比較好... 2021-01-12
- 學(xué)什么技術(shù)好就業(yè)?... 2013-08-12
- 鄭州北大青鳥翔天信鴿B198班戶外... 2019-10-11
- 鄭州電腦學(xué)校:大學(xué)生求職灰色技... 2012-10-13
熱點(diǎn)資訊
- Windows Server 2008 R2如何修改... 2018-09-07
- 常見的五個(gè)Web應(yīng)用漏洞介紹與其解... 2018-09-07
- 刪除遠(yuǎn)程桌面連接IP記錄... 2018-09-07
- 自己動(dòng)手解決服務(wù)器上的安全問題... 2018-09-07
- 鄭州北大青鳥學(xué)術(shù)交流:服務(wù)器數(shù)... 2018-09-07