開發者的Web安全戒律:真實威脅與防御實踐( 簡體 字) | |
作者:[美]馬爾科姆·麥克唐納(Malcolm McDonald) 著 | 類別:1. -> 安全 -> 網路安全 -> 駭客攻擊與入侵 |
出版社:機械工業出版社 | 3dWoo書號: 55971 詢問書籍請說出此書號! 有庫存 NT售價: 395 元 |
出版日:7/1/2022 | |
頁數:172 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111710332 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
譯者序
前言 關于作者 關于技術審校 致謝 第1章 讓我們了解黑客如何入侵一個網站 1 1.1 軟件漏洞和暗網 1 1.2 黑客如何攻擊網站 2 第2章 互聯網的工作原理 5 2.1 互聯網協議套件 5 2.1.1 IP地址 6 2.1.2 域名系統 6 2.2 應用層協議 7 2.3 狀態連接 11 2.4 加密 12 2.5 小結 12 第3章 瀏覽器的工作原理 13 3.1 頁面呈現 13 3.1.1 渲染管道:概述 14 3.1.2 文檔對象模型 14 3.1.3 樣式信息 15 3.2 JavaScript 16 3.3 渲染前后:瀏覽器執行的所有其他操作 18 3.4 小結 18 第4章 Web服務器的工作方式 20 4.1 靜態資源 20 4.1.1 URL解析 21 4.1.2 內容交付網絡 22 4.1.3 內容管理系統 22 4.2 動態資源 24 4.2.1 模板 24 4.2.2 數據庫 25 4.2.3 分布式緩存 27 4.2.4 Web編程語言 28 4.3 小結 32 第5章 程序員的工作方式 33 5.1 階段1:設計與分析 34 5.2 階段2:編寫代碼 34 5.2.1 分布式版本控制與集中式版本控制 35 5.2.2 分支和合并代碼 35 5.3 階段3:發布前測試 36 5.3.1 覆蓋范圍和持續集成 37 5.3.2 測試環境 37 5.4 階段4:發布過程 38 5.4.1 發布期間標準化部署的選項 39 5.4.2 編譯過程 41 5.4.3 數據庫遷移腳本 41 5.5 階段5:發布后的測試和觀察 42 5.5.1 滲透測試 42 5.5.2 監控、日志記錄和錯誤報告 42 5.6 依賴管理 43 5.7 小結 44 第6章 注入攻擊 45 6.1 SQL注入 46 6.1.1 什么是SQL 46 6.1.2 SQL注入攻擊剖析 47 6.1.3 緩解措施1:使用參數化語句 49 6.1.4 緩解措施2:使用對象關系映射 50 6.1.5 額外緩解:使用縱深防御 51 6.2 命令注入 52 6.2.1 命令注入攻擊剖析 53 6.2.2 緩解措施:轉義控制字符 54 6.3 遠程代碼執行 55 6.3.1 遠程代碼執行剖析 56 6.3.2 緩解措施:在反序列化期間禁用代碼執行 56 6.4 文件上傳漏洞 57 6.4.1 文件上傳攻擊剖析 57 6.4.2 緩解措施 59 6.5 小結 60 第7章 跨站點腳本攻擊 62 7.1 存儲型跨站點腳本攻擊 62 7.1.1 緩解措施1:轉義HTML字符 64 7.1.2 緩解措施2:實施內容安全策略 66 7.2 反射型跨站點腳本攻擊 67 7.3 基于DOM的跨站點腳本攻擊 69 7.4 小結 71 第8章 跨站點請求偽造攻擊 72 8.1 CSRF攻擊剖析 72 8.2 緩解措施1:遵循REST原則 73 8.3 緩解措施2:使用anti-CSRF cookie 74 8.4 緩解措施3:使用SameSite cookie屬性 75 8.5 額外的緩解措施:敏感動作需要重新驗證 76 8.6 小結 77 第9章 破壞身份認證 78 9.1 實施身份認證 78 9.1.1 HTTP本地身份認證 79 9.1.2 非本地認證 80 9.1.3 暴力破解攻擊 80 9.2 緩解措施1:使用第三方身份認證 81 9.3 緩解措施2:與單點登錄集成 81 9.4 緩解措施3:保護自己的身份認證系統 82 9.4.1 需要用戶名、電子郵件地址或兩個都要 82 9.4.2 要求復雜密碼 85 9.4.3 安全地存儲密碼 85 9.4.4 多因素身份認證 87 9.4.5 實現并保護注銷功能 88 9.4.6 防止用戶枚舉 88 9.5 小結 89 第10章 會話劫持 91 10.1 會話的工作方式 91 10.1.1 服務器端會話 92 10.1.2 客戶端會話 93 10.2 攻擊者如何劫持會話 95 10.2.1 cookie竊取 95 10.2.2 會話確定 97 10.2.3 利用弱會話ID 98 10.3 小結 99 第11章 權限 100 11.1 提權 100 11.2 訪問控制 101 11.2.1 設計授權模型 101 11.2.2 實施訪問控制 103 11.2.3 測試訪問控制 104 11.2.4 添加審計記錄 105 11.2.5 避免常見的疏忽 105 11.3 目錄遍歷 105 11.3.1 文件路徑和相對文件路徑 106 11.3.2 目錄遍歷攻擊剖析 106 11.3.3 緩解措施1:信任你的Web服務器 107 11.3.4 緩解措施2:使用托管服務 108 11.3.5 緩解措施3:使用間接文件引用 108 11.3.6 緩解措施4:凈化文件引用 108 11.4 小結 109 第12章 信息泄露 111 12.1 緩解措施1:禁用Telltale Server標頭 111 12.2 緩解措施2:使用干凈的URL 111 12.3 緩解措施3:使用通用cookie參數 112 12.4 緩解措施4:禁用客戶端錯誤報告 112 12.5 緩解措施5:縮小或模糊處理JavaScript文件 113 12.6 緩解措施6:清理客戶端文件 113 12.7 始終關注安全公告 114 12.8 小結 114 第13章 加密 115 13.1 Internet協議中的加密 115 13.1.1 加密算法、哈希和消息身份認證代碼 116 13.1.2 TLS握手 118 13.2 啟用HTTPS 120 13.2.1 數字證書 120 13.2.2 獲取數字證書 121 13.2.3 安裝數字證書 123 13.3 攻擊HTTP(和HTTPS) 126 13.3.1 無線路由器 126 13.3.2 Wi-Fi熱點 127 13.3.3 互聯網服務提供商 127 13.3.4 政府機構 127 13.4 小結 128 第14章 第三方代碼 129 14.1 保護依賴項 129 14.1.1 知道你正在運行什么代碼 130 14.1.2 能夠快速部署新版本 132 14.1.3 對安全問題保持警惕 133 14.1.4 知道什么時候升級 134 14.2 保護配置 134 14.2.1 禁用默認憑據 135 14.2.2 禁用開放目錄列表 135 14.2.3 保護你的配置信息 135 14.2.4 加固測試環境 136 14.2.5 保護管理前端 136 14.3 保護你使用的服務 137 14.3.1 保護你的API密鑰 137 14.3.2 保護你的webhook 138 14.3.3 第三方提供的安全內容 138 14.4 服務作為攻擊媒介 139 14.4.1 警惕惡意廣告 140 14.4.2 避免惡意軟件傳遞 140 14.4.3 使用信譽良好的廣告平臺 141 14.4.4 使用SafeFrame 141 14.4.5 定制廣告偏好設置 142 14.4.6 審查并報告可疑廣告 142 14.5 小結 142 第15章 XML攻擊 144 15.1 XML的使用 145 15.2 驗證XML 145 15.3 XML炸彈 147 15.4 XML外部實體攻擊 148 15.5 保護你的XML解析器 150 15.5.1 Python 150 15.5.2 Ruby 150 15.5.3 Node.js 150 15.5.4 Java 150 15.5.5 .NET 151 15.6 其他考慮 151 15.7 小結 151 第16章 不要成為幫兇 153 16.1 電子郵件欺詐 154 16.1.1 實施發件人策略框架 155 16.1.2 域密鑰標識郵件 155 16.1.3 保護你的電子郵件:實用步驟 156 16.2 偽裝電子郵件中的惡意鏈接 156 16.2.1 開放重定向 157 16.2.2 防止開放重定向 157 16.2.3 其他考慮 158 16.3 點擊劫持 158 16.4 服務器端請求偽造 160 16.5 僵尸網絡 161 16.6 小結 162 第17章 拒絕服務攻擊 163 17.1 拒絕服務攻擊類型 163 17.1.1 互聯網控制消息協議攻擊 164 17.1.2 傳輸控制協議攻擊 164 17.1.3 應用層攻擊 164 17.1.4 反射和放大攻擊 165 17.1.5 分布式拒絕服務攻擊 165 17.1.6 無意拒絕服務攻擊 166 17.2 拒絕服務攻擊的緩解措施 166 17.2.1 防火墻和入侵防御系統 166 17.2.2 DDoS保護服務 167 17.2.3 規模擴展 167 17.3 小結 168 第18章 總結 170 |