1. 程式人生 > >《圖解HTTP》閱讀筆記--第十一章針對web的攻擊技術

《圖解HTTP》閱讀筆記--第十一章針對web的攻擊技術

遠程 輸入 http協議 http 自由 操作系統 報文 安全技術 一個

              第十一章、針對WEB的攻擊技術

----《圖解HTTP》閱讀筆記
攻擊目標---Web
簡單的HTTP協議本身並不存在安全性 問題,協議本身並不會成為被攻擊的對象,應用HTTP的服務器和客戶端,以及運行在服務器上的web應用才是被攻擊的目標。


攻擊漏洞:
  1、HTTP不具備必要的安全技術,(不像遠程登錄使用的SSH可以構建安全等級高的服務):即使HTTP以及架設好服務器,但是在其上搭建Web應用時又需要重新自己搭載認證和回話管理功能,此時在用戶自行設計重新搭載的過程中隱藏很多安全漏洞可以攻擊。
  2、在客戶端篡改請求:web服務器在等待服務器回應時,請求經過客戶端時客戶端可以自由修改返回的報文,返回報文可能包含了惡意的攻擊信息(通過URI查詢字段、表單、HTTP首部或cookie等途徑傳入攻擊代碼),那麽攻擊者就會收到內部信息或管理權限。


攻擊模式:
  1、主動攻擊:針對服務器上的資源信息,通過直接訪問Web應用把攻擊代碼傳入的攻擊模式。
    代表:SQL註入攻擊和OS命令註入
  2、被動攻擊:不直接通過WEB應用發起攻擊,而是利用圈套策略執行攻擊代碼的攻擊模式。


安全對策
  1、客戶端的驗證:不合適做安全防範對策,只是為了盡早辨識輸入錯誤,提高UI體驗。
  2、Web應用端(服務器端)的認證:
    --輸入值驗證:檢查是否符合系統業務邏輯的數值或檢查字符編碼等預防對策
    --輸出值轉義:指從數據庫、HTML、文件系統、郵件等地方輸出Web應用數據之際轉義輸出數據。這是一項至關重要的安全對策,轉義不完全會觸發攻擊者傳入的攻擊代碼,損害輸出對象。、


驗證數據的地方:
客戶端(驗證);——HTTP請求——Web應用端(驗證){輸入&處理&輸出};-——HTTP響應&訪問DB&訪問文件系統

-------------------------------------------------------------------------------------------------------------------
跨站腳本攻擊XSS——通過在存在安全漏洞的Web網站註冊用戶的瀏覽器內運行非法的HTML或JavaScript進行的一種攻擊
  1、利用虛假輸入表單騙取用戶個人信息。(創建嵌入惡意URI代碼的頁面---欺詐網頁/欺詐郵件)
  2、利用腳本竊取用戶的Cookie值,使用戶在不知情的情況下,幫助攻擊者發送惡意請求。
  3、顯示偽造的文章或圖片

SQL註入攻擊——針對Web應用使用的數據庫,通過運行非法的SQL而產生的攻擊。
  1、非法查看或篡改數據庫內的數據,例如加入"--"SQL註釋掉後面的命令數據
  2、規避認證
  3、執行和數據庫帶我去業務關聯的程序等


OS命令註入攻擊——指通過web應用,執行非法的操作系統命令達到攻擊的目的
(註意:只要在能使用shell命令的地方都存在風險),OS命令註入攻擊通過OS命令註入可以執行OS上安裝的程序。


HTTP首部註入攻擊——攻擊者在HTTP首部字段內插入換行,添加任意響應首部或主體的一種攻擊(被動攻擊模式)
BTW,向HTTP首部添加內容的攻擊稱為HTTP響應截斷攻擊。Web應用有時會把從外部接收到的數值賦給響應字段Location和Set-Cookie。
  1、設置任何Cookie信息
  2、定向到任意URI
  3、顯示任意的主體(HTTP響應截斷攻擊)


HTTP響應截斷攻擊
在HTTP首部字段內並排插入兩個換行符字符串(%0D%0A%0D%0A)後發送,制造出一個首部和主體分割的空行來偽造主體。


郵件首部註入攻擊:
在Web應用的郵件發送功能中,通過向郵件首部To或Subject內任意添加非法內容來攻擊,以發送廣告郵件或病毒郵件。


目錄遍歷攻擊/路徑遍歷攻擊:
通過非法截斷目錄路徑,訪問本無意公開的文件目錄的一種攻擊。


遠程文件包含漏洞:
指當部分腳本內容需要從其他文件讀入時,利用外部服務器的URL充當依賴文件,腳本讀取後就可以運行任意腳本的攻擊。(主要是PHP存在的漏洞:PHP的include和required可以設定指定外部服務器URL作為文件名)


---------------------------設計缺陷類安全漏洞
強制瀏覽
不正確的錯誤消息處理
開放重定向


---------------------------會話管理疏漏類安全漏洞
會話劫持
會話固定攻擊跨站點請求偽造


------------------------------其他
密碼破解:
  1、通過網絡的密碼試錯(窮舉法/字典攻擊)
  2、對已加密密碼的破解(通過密碼試錯進行類推/彩虹表/拿到密鑰/加密算法的漏洞)


點擊劫持(透明的按鈕或按鍵)
Dos攻擊/服務停止攻擊/拒絕服務攻擊(集中大量訪問請求/安全漏洞)
後門程序

《圖解HTTP》閱讀筆記--第十一章針對web的攻擊技術