常見的web攻擊技術

1、xss跨站攻擊技術:主要是攻擊者往網(wǎng)頁里嵌入惡意腳本,或者通過改變html元素屬性來實現(xiàn)攻擊,主要原因在于開發(fā)者對用戶的變量直接使用導致進入html中會被直接編譯成js,通常的get請求通過url來傳參,可以在url中傳入惡意腳本,從而獲取信息,解決方法:特殊字符過濾。

2、sql注入攻擊:主要是就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執(zhí)行惡意的SQL命令,比如select * from test where username="wuxu" or 1=1,這樣會使用戶跳過密碼直接登錄,具體解決方案:1、特殊字符過濾,不要用拼接字符串的方法來湊sql語句。2、對sql語句進行預編譯,比如java的preparedstatement。3、關閉錯誤信息,攻擊者可能會通過不斷的嘗試來得到數(shù)據(jù)庫的一些信息,所以關閉錯誤信息變得重要起來。4、客戶端對數(shù)據(jù)進行加密,使原來傳進來的參數(shù)因為加密而被過濾掉。5、控制數(shù)據(jù)庫的權限,比如只能select,不能insert,防止攻擊者通過select * from test ;drop tables這種操作

3、os命令注入攻擊:系統(tǒng)提供命令執(zhí)行類函數(shù)主要方便處理相關應用場景的功能.而當不合理的使用這類函數(shù),同時調(diào)用的變量未考慮安全因素,就會執(zhí)行惡意的命令調(diào)用,被攻擊利用。主要原因是服務端在調(diào)用系統(tǒng)命令時采用的是字符串連接的方式,比如a="a.txt;rm -rf *",system("rm -rf {$a}"),這會給服務端帶去慘痛的代價,具體解決方案:1、在程序開發(fā)時少用系統(tǒng)命令,執(zhí)行命令的參數(shù)盡量不要從外部獲取。2、參數(shù)特殊字符過濾

4、http首部注入攻擊:看了半天不知道這是啥,網(wǎng)上資料也比較少

5、郵件首部注入攻擊:它允許惡意攻擊者注入任何郵件頭字段,BCC、CC、主題等,它允許黑客通過注入手段從受害者的郵件服務器發(fā)送垃圾郵件。主要是利用郵件系統(tǒng)傳參的bug來進行攻擊,解決方法:1、使用正則表達式來過濾用用戶提交的數(shù)據(jù)。例如,我們可以在輸入字符串中搜索(r 或 n)。2、永遠不要信任用戶的輸入。3、使用外部組建和庫

6、目錄遍歷攻擊:目錄遍歷是Http所存在的一個安全漏洞,它使得攻擊者能夠訪問受限制的目錄,并在Web服務器的根目錄以外執(zhí)行命令。比如http://test.webarticles.com/show.asp?view=../../../../../Windows/system.ini,這種url會返回/windows/system.ini給用戶,所以服務器上的重要文件就會遭到泄漏,解決方法:根目錄訪問,現(xiàn)在主流服務器,比如nginx,都會有www根目錄,是網(wǎng)站的根目錄,所以用戶只能訪問該根目錄下的文件,不能訪問其他目錄下的文件,從而實現(xiàn)了權限控制。而目錄遍歷并不是一個漏洞,而是服務器的一個功能,而因為管理員的疏忽從而變成了漏洞

7、遠程目錄包含攻擊,原理就是注入一段用戶能控制的腳本或代碼,并讓服務端執(zhí)行。比如php中的include($filename),而此filename由用戶傳入,用戶即可傳入一段惡意腳本,從而對服務其造成傷害,解決方法:當采用文件包含函數(shù)的時候,不應動態(tài)傳入,而應該有具體的文件名,如果動態(tài)傳入,要保證動態(tài)變量不被用戶所控制

8、會話劫持:這是一種通過獲取用戶Session ID后,使用該Session ID登錄目標賬號的攻擊方法,此時攻擊者實際上是使用了目標賬戶的有效Session。會話劫持的第一步是取得一個合法的會話標識來偽裝成合法用戶,因此需要保證會話標識不被泄漏,通俗一點就是用戶在登錄時,唯一標示用戶身份的session id被劫持,使得攻擊者可以用這個session id來進行登錄后操作,而攻擊者主要是通過竊取:使用網(wǎng)絡嗅探,XSS攻擊等方法獲得。而第一種方式網(wǎng)絡嗅探,我們可以通過ssl加密,也就是https來對報文進行加密,從而防止報文被截獲,而第二種方式xss攻擊,方式在第一種已經(jīng)給出,不再贅述。此外通過設置HttpOnly。通過設置Cookie的HttpOnly為true,可以防止客戶端腳本訪問這個Cookie,從而有效的防止XSS攻擊,還有就是設置token驗證。關閉透明化Session ID。透明化Session ID指當瀏覽器中的Http請求沒有使用Cookie來存放Session ID時,Session ID則使用URL來傳遞。

9、會話固定:會話固定是會話劫持的一種,區(qū)別就是,會話固定是攻擊者通過某種手段重置目標用戶的SessionID,然后監(jiān)聽用戶會話狀態(tài);用戶攜帶sessionid進行登錄,攻擊者獲取sessionid來進行會話,解決方案:服務端設置用戶登錄后的sessionid與登錄前不一樣即可,另外會話劫持的方法也可以用在會話固定上

10、csrf跨站偽造請求攻擊:其實就是攻擊者盜用了你的身份,以你的名義發(fā)送惡意請求。具體原理比較復雜,參考www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html這篇博文,具體方案:1、驗證referer字段,這個字段主要是反映了訪問某個網(wǎng)頁只能有referer發(fā)起請求,所以通過referer驗證,可以抵御一部分csrf攻擊。2、在請求地址中加token驗證,攻擊者發(fā)送惡意請求時,通過token驗證來進行身份驗證,而token必須是一個攻擊者猜不到的,很難去模擬出來的,具體來說可以放在表單的hidden字段中。3、在htttp請求頭中定義字段,其實就是將2中說得token字段放入請求頭,解決了每次在請求頭中加入token的不便,同時在其也不會記錄在地址欄里,降低了token泄露的風險。。。。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 本文主要講解具體有哪些攻擊 Web 站點的手段,以及攻擊會造成怎樣的影響。 針對 Web 應用的攻擊模式 對 We...
    杰哥長得帥閱讀 1,786評論 0 5
  • 22年12月更新:個人網(wǎng)站關停,如果仍舊對舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,390評論 22 257
  • http是無狀態(tài)的,一次請求結束,連接斷開,下次服務器再收到請求,它就不知道這個請求是哪個用戶發(fā)過來的。當然它知道...
    Www劉閱讀 492評論 4 15
  • http://www.91ri.org/tag/fuzz-bug 通常情況下,有三種方法被廣泛用來防御CSRF攻擊...
    jdyzm閱讀 4,390評論 0 5
  • 人生如夢,虛幻種生,不言,色許空,不語,空許色,心若動,自然殤,心不動,自無傷,塵埃微渺,然自成一界,山岳甚巍,即...
    孤風掠影閱讀 276評論 0 2

友情鏈接更多精彩內(nèi)容