內容簡介
web安全與防護技術是當前安全界關注的熱點,本書嘗試針對各類漏洞的攻防技術進行體係化整理,從漏洞的原理到整體攻防技術演進過程進行詳細講解,從而形成對漏洞和web安全的體係化的認識。本書包括五個部分,部分為基礎知識,這些知識對Web攻防技術理解有著極大幫助。第二部分重點講解各類基本漏洞的原理及攻防技術對抗方法,並針對個漏洞的測試方法及防護思路進行整理。第三部分重點講解Web應用的業務邏輯層麵安全,但由於各類Web應用的不同,因此重點通過Web應用的用戶管理功能入手,講解在用戶權限的獲取、分配、利用方麵的各項細節問題。第四部分從Web應用整體視角提供攻防對抗過程中的技術細節,這在實際運維過程中有很大的作用。第五部分介紹Web安全防護體係建設的基本方法,包含常見的防護設備、Web防護體係建議、滲透測試方法及快速代碼審計實踐,深入瞭解在Web安全防護體係中的各部分基礎內容及開展方式。
目錄
目 錄
推薦序
前言
第一部分 基礎知識
第1章 Web安全基礎 2
1.1 Web安全的核心問題 2
1.2 HTTP協議概述 5
1.2.1 HTTP請求頭的內容 6
1.2.2 HTTP協議響應頭的內容 9
1.2.3 URL的基本格式 11
1.3 HTTPS協議的安全性分析 12
1.3.1 HTTPS協議的基本概念 13
1.3.2 HTTPS認證流程 14
1.3.3 HTTPS協議的特點總結 16
1.4 Web應用中的編碼與加密 16
1.4.1 針對字符的編碼 16
1.4.2 傳輸過程的編碼 18
1.4.3 Web係統中的加密措施 20
1.5 本章小結 22
第二部分 網絡攻擊的基本防護方法
第2章 XSS攻擊 24
2.1 XSS攻擊的原理 24
2.2 XSS攻擊的分類 25
2.2.1 反射型XSS 26
2.2.2 存儲型XSS 26
2.2.3 基於DOM的XSS 26
2.3 XSS攻擊的條件 26
2.4 漏洞測試的思路 27
2.4.1 基本測試流程 28
2.4.2 XSS進階測試方法 30
2.4.3 測試流程總結 40
2.5 XSS攻擊的利用方式 40
2.5.1 竊取Cookie 40
2.5.2 網絡釣魚 42
2.5.3 竊取客戶端信息 44
2.6 XSS漏洞的標準防護方法 45
2.6.1 過濾特殊字符 45
2.6.2 使用實體化編碼 50
2.6.3 HttpOnly 52
2.7 本章小結 52
第3章 請求僞造漏洞與防護 53
3.1 CSRF攻擊 54
3.1.1 CSRF漏洞利用場景 58
3.1.2 針對CSRF的防護方案 58
3.1.3 CSRF漏洞總結 61
3.2 SSRF攻擊 61
3.2.1 SSRF漏洞利用場景 62
3.2.2 針對SSRF的防護方案 65
3.2.3 SSRF漏洞總結 66
3.3 本章小結 66
第4章 SQL注入 67
4.1 SQL注入攻擊的原理 67
4.2 SQL注入攻擊的分類 72
4.3 迴顯注入攻擊的流程 72
4.3.1 SQL手工注入的思路 73
4.3.2 尋找注入點 73
4.3.3 通過迴顯位確定字段數 74
4.3.4 注入並獲取數據 76
4.4 盲注攻擊的流程 78
4.4.1 尋找注入點 79
4.4.2 注入獲取基本信息 81
4.4.3 構造語句獲取數據 84
4.5 常見防護手段及繞過方式 86
4.5.1 參數類型檢測及繞過 86
4.5.2 參數長度檢測及繞過 88
4.5.3 危險參數過濾及繞過 90
4.5.4 針對過濾的繞過方式匯總 95
4.5.5 參數化查詢 99
4.5.6 常見防護手段總結 100
4.6 本章小結 101
第5章 文件上傳攻擊 102
5.1 上傳攻擊的原理 103
5.2 上傳的標準業務流程 103
5.3 上傳攻擊的條件 106
5.4 上傳檢測繞過技術 107
5.4.1 客戶端JavaScript檢測及繞過 107
5.4.2 服務器端MIME檢測及繞過 110
5.4.3 服務器端文件擴展名檢測及繞過 113
5.4.4 服務器端文件內容檢測及繞過 118
5.4.5 上傳流程安全防護總結 122
5.5 文件解析攻擊 123
5.5.1 .htaccess攻擊 123
5.5.2 Web服務器解析漏洞攻擊 125
5.6 本章小結 127
第6章 Web木馬的原理 128
6.1 Web木馬的特點 129
6.2 一句話木馬 130
6.2.1 一句話木馬的原型 130
6.2.2 一句話木馬的變形技巧 131
6.2.3 安全建議 135
6.3 小馬與大馬 136
6.3.1 文件操作 137
6.3.2 列舉目錄 139
6.3.3 端口掃描 139
6.3.4 信息查看 140
6.3.5 數據庫操作 142
6.3.6 命令執行 143
6.3.7 批量掛馬 144
6.4 本章小結 145
第7章 文件包含攻擊 146
7.1 漏洞原理 146
7.2 服務器端功能實現代碼 147
7.3 漏洞利用方式 148
7.3.1 上傳文件包含 148
7.3.2 日誌文件包含 148
7.3.3 敏感文件包含 150
7.3.4 臨時文件包含 151
7.3.5 PHP封裝協議包含 151
7.3.6 利用方式總結 151
7.4 防護手段及對應的繞過方式 152
7.4.1 文件名驗證 152
7.4.2 路徑限製 154
7.4.3 中間件安全配置 156
7.5 本章小結 158
第8章 命令執行攻擊與防禦 159
8.1 遠程命令執行漏洞 159
8.1.1 利用係統函數實現遠程命令
執行 159
8.1.2 利用漏洞獲取webshell 163
8.2 係統命令執行漏洞 167
8.3 有效的防護方案 169
8.3.1 禁用部分係統函數 169
8.3.2 嚴格過濾關鍵字符 169
8.3.3 嚴格限製允許的參數類型 169
8.4 本章小結 170
第三部分 業務邏輯安全
第9章 業務邏輯安全風險存在的前提 172
9.1 用戶管理的基本內容 173
9.2 用戶管理涉及的功能 174
9.3 用戶管理邏輯的漏洞 175
9.4 本章小結 176
第10章 用戶管理功能的實現 177
10.1 客戶端保持方式 177
10.1.1 Cookie 178
10.1.2 Session 179
10.1.3 特定應用環境實例 180
10.2 用戶基本登錄功能實現及安全情況分析 186
10.3 本章小結 189
第11章 用戶授權管理及安全分析 190
11.1 用戶注冊階段安全情況 191
11.1.1 用戶重復注冊 191
11.1.2 不校驗用戶注冊數據 192
11.1.3 無法阻止的批量注冊 193
11.2 用戶登錄階段的安全情況 194
11.2.1 明文傳輸用戶名/密碼 194
11.2.2 用戶憑證(用戶名/密碼)可被暴力破解 198
11.2.3 萬能密碼 199
11.2.4 登錄過程中的安全問題及防護手段匯總 202
11.3 密碼找迴階段的安全情況 203
11.3.1 驗證步驟可跳過 204
11.3.2 平行
前言/序言
前 言一、為什麼要寫這本書隨著網絡的普及,人們的工作、生活已經與網絡深度融閤。Web係統由於其高度可定製的特點,非常適閤承載現有的互聯網應用。目前,大量在綫應用網站的齣現和使用也印證瞭這一點。我們每個人每天都會打開各種網站搜索自己感興趣的內容或使用某一個應用,其中每個站點的功能各不相同,業務流程也各自獨立,並且站點功能及版本的迭代、更新速度非常快。同時,由於大量Web應用功能及版本的快速更新,也導緻各類新型Web安全問題不斷齣現。盡管Web安全問題的錶現形式各異,但深入分析各類安全問題的成因會發現,這些安全問題有一定的共性並能通過相關的網絡安全技術來加以防禦和解決。
反觀Web安全的學習過程,由於Web安全攻防涉及的技術、工具繁多,安全問題也錶現齣各種復雜的形式,學習者很容易被這些錶象混淆,進入“隻見樹木不見森林”的誤區,無法快速成長。因此,本書作者基於多年的安全研究、教學、工程實踐經驗,以幫助讀者建立知識體係為目標,通過原理、方法、代碼、實踐的層層深入,使讀者充分理解Web安全問題的成因、危害、關聯,進而有效地保護Web係統,抵禦攻擊。
二、本書的主要內容本書試圖整理齣Web安全防護知識的體係,因此對每一類Web安全問題,都對從原理到攻防技術的演進過程加以詳細的講解。在針對安全問題的分析方麵,本書從基礎的漏洞環境入手,可排除不同業務環境的乾擾,更聚焦於安全問題本身。這種方式有利於幫助讀者在掌握每種Web安全問題的解決方案的同時,對整個Web安全防護體係建立清晰的認知。
本書主要內容共分為5部分,各部分內容如下。
第一部分(包括第1章):Web應用概念龐大、涉及的協議廣泛,因此,此部分沒有係統地介紹所有的基礎內容,而是抽取瞭與Web安全關係密切的協議等方麵的基礎知識。這些知識對後續理解Web攻防技術極為關鍵。
第二部分(包括第2~8章):重點講解Web應用中的基礎漏洞,從用戶端到服務器端依次開展分析。首先從主要攻擊用戶的跨站請求攻擊入手,之後瞭解Web應用中的請求僞造攻擊、針對Web應用於數據庫交互産生的SQL注入攻擊。再針對可直接上傳各類危險文件的上傳漏洞進行分析,並說明上傳漏洞中常用的木馬的基本原理。最後對服務器端的危險應用功能(文件包含、命令執行漏洞)進行分析。此部分重點講解上述基本漏洞的原理及攻防技術對抗方法,並針對每個漏洞的測試及防護方法的技術演進思路進行整理。
第三部分(包括第9~15章):重點講解Web應用的業務邏輯層麵的基礎安全問題。Web應用基於用戶管理機製來提供個性化的服務,用戶的身份認證則成為安全開展Web應用的基礎功能。此部分從用戶的未登錄狀態入手,講解用戶注冊行為中潛在的安全隱患。然後對用戶登錄過程中的安全問題進行整理,並對常見的用戶身份識彆技術進行原理說明。最後對用戶登錄後的基本功能及用戶權限處理方式進行講解。
第四部分(包括第16~19章):主要講解在實際Web站點上綫之後的基礎防護方式,並從Web整體應用的視角展示攻防對抗過程中的技術細節。重點針對Web服務潛在的基礎信息泄漏方及對應處理方法進行總結。最後提供可解決大部分問題的簡單防護方案,這對安全運維有較大的用途。
第五部分(包括第20~23章):在前幾部分的基礎上總結Web安全防護體係建設的基本方法。本部分先從Web安全中常見的防護類設備入手,分析各類安全防護設備的特點及適用範圍。之後,對目前業界權威的安全開發體係進行基本介紹,並對安全服務中的滲透測試的主要流程進行說明。最後以實例的形式展示如何進行快速的代碼審計。
以上每個部分的知識均為遞進關係。第一部分和第二部分幫助讀者瞭解Web應用中各類漏洞的原理及測試方式、防護手段等。第三部分和第四部分讓讀者瞭解業務層麵和整體安全的防護方法。第五部分則從整體層間構建有效防護體係的思路。最後可綜閤掌握Web安全防護的整體內容,這也是本書希望讀者獲得的閱讀效果。
三、本書的讀者對象本書適閤所有對Web安全感興趣的初學者以及從事安全行業的相關人員,主要包括以下幾類讀者:
信息安全及相關專業本科生本書以基本的漏洞為例,循序漸進地梳理攻防對抗方式及各類漏洞的危害。信息安全及相關專業學生可根據這些內容快速入門,並以此作為基礎來探索信息安全更前沿的領域。
安全運維人員本書提供瞭大量漏洞利用特徵及有效的安全運維方式,可供安全運維人員在實際工作中快速發現係統安全狀況,並對安全漏洞進行基本的處理。
安全開發人員本書列舉瞭各種漏洞的原理分析及防護方式,可幫助開發人員在Web係統的開發過程中對漏洞進行規避,進而從根源上避免Web漏洞的齣現。
安全服務人員安全服務人員重點關注如何快速發現目標Web係統的安全隱患並針對問題提齣處理建議。此類讀者建議重點閱讀本書前三部分以及最後一部分的最後兩章,可為安全服務的工作開展提供更全麵的技術支持。
攻防技術愛好者對於攻防技術愛好者來說,本書提供瞭體係化的Web安全基礎原理,可有效豐富個人的知識儲備體係。
四、如何閱讀這本書本書雖然篇
Web安全防護指南:基礎篇 下載 mobi epub pdf txt 電子書