<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                #### 內容簡介 《web應用安全權威指南》系日本web安全第一人德丸浩所創,是作者從業多年的經驗總結。作者首先簡要介紹了web應用的安全隱患以及產生原因,然后詳細介紹了web安全的基礎,如http、會話管理、同源策略等。此外還重點介紹了web應用的各種安全隱患,對其產生原理及對策進行了詳盡的講解。最后對如何提高web網站的安全性和開發安全的web應用所需要的管理進行了深入的探討。 《web應用安全權威指南》適合web相關的開發人員特別是安全及測試人員閱讀。 八大章節全面剖析,深入淺出地講解了sql注入、xss、csrf等web開發人員必知的web安全知識。通過在vmware player虛擬機上對php樣本的攻擊,詳細介紹了安全隱患產生的原理及應對方法,助你打造安全無虞的web應用。 #### 作者簡介 德丸 浩 2008年創立HASH咨詢公司,任董事長。主要從事網絡安全性的診斷與咨詢工作,并在工作之余通過博客普及網絡安全知識。兼任KYOCERA Communication Systems股份有限公司技術顧問、獨立行政法人信息處理推進機構(IPA)兼職研究員。Twitter ID為@ockeghem。 趙文 程序員,Ruby 語言愛好者。圖靈電子書《關于 mruby 的一切》譯者。個人博客: http://zhaowen.me 劉斌 程序員,關注于后臺開發,Java/Ruby愛好者。個人主頁:http://liubin.org 目錄 ##### 第1章 什么是 web應用的安全隱患  1 1-1 安全隱患即“能用于作惡的bug”  2 1-2 為什么存在安全隱患會有問題  3 經濟損失  3 法律要求  3 對用戶造成不可逆的傷害  4 欺騙用戶  4 被用于構建僵尸網絡  4 1-3 產生安全隱患的原因  6 1-4 安全性 bug與安全性功能  7 1-5 本書的結構  8 ##### 第2章 搭建試驗環境 9 2-1試驗環境概要  10 2-2 安裝 vmware player  11 什么是 vmware player  11 下載 vmware player  11 安裝 vmware player  12 2-3 安裝虛擬機及運行確認  14 虛擬機啟動確認  14 虛擬機的使用方法  15 編輯 hosts文件  16 使用 ping確認連接  16 apache 與php的運行確認  17 設置并確認郵箱賬號  17 2-4 安裝 fiddler  18 什么是 fiddler  18 安裝 fiddler  18 fiddler 的運行確認及簡單用法  18 參考:虛擬機的數據一覽  19 參考:如果無法連接試驗環境的pop3服務器  20 ##### 第3章 web 安全基礎:http、會話管理、同源策略  21 3-1 http 與會話管理  22 為什么要學習 http  22 最簡單的 http  22 使用 fiddler觀察http消息  23 請求消息  24 響應消息  24 狀態行  25 響應頭信息  25 如果將 http比喻為對話  25 輸入-確認-注冊模式  26 post 方法  28 消息體  28 百分號編碼  29 referer  29 get 和post的使用區別  29 hidden 參數能夠被更改  30 將 hidden參數的更改比作對話  32 hidden 參數的優點  32 無狀態的 http認證  33 體驗 basic認證  33 專欄  認證與授權  36 cookie 與會話管理  36 使用 cookie的會話管理  39 會話管理的擬人化解說  39 會話 id泄漏的原因  42 cookie 的屬性  42 專欄  cookie monster bug  44 總結  45 3-2 被動攻擊與同源策略  46 主動攻擊與被動攻擊  46 主動攻擊  46 被動攻擊  46 惡意利用正規網站進行的被動攻擊  47 跨站被動攻擊  48 瀏覽器如何防御被動攻擊  48 沙盒  49 同源策略  49 應用程序安全隱患與被動攻擊  52 專欄  第三方 javascript  53 javascript 以外的跨域訪問  54 frame 元素與iframe元素  54 專欄  x-frame-options  54 img 元素  54 script 元素  54 css  55 form 元素的action屬性  55 總結  56 ##### 第4章 web應用的各種安全隱患 57 4-1 web 應用的功能與安全隱患的對應關系  58 安全隱患產生于何處  58 注入型隱患  59 總結  60 4-2 輸入處理與安全性  61 什么是 web應用的輸入處理  61 檢驗字符編碼  62 轉換字符編碼  62 檢驗并轉換字符編碼的實例  62 專欄  字符編碼的自動轉換與安全性  64 輸入校驗  64 輸入校驗的目的  64 輸入校驗與安全性  65 二進制安全與空字節攻擊  65 僅校驗輸入值并不是安全性策略  66 輸入校驗的依據是應用程序的規格  67 哪些參數需要校驗  67 php 的正則表達式庫  67 使用正則表達式檢驗輸入值的實例(1) 1~5 個字符的字母數字  68 使用正則表達式檢驗輸入值的實例(2) 住址欄  70 專欄  請注意 mb_ereg中的\d與\w  70 范例  70 專欄  輸入校驗與框架  71 總結  72 參考:表示“非控制字符的字符”的正則表達式  73 4-3 頁面顯示的相關問題  75 4.3.1 跨站腳本(基礎篇)  75 概要  75 攻擊手段與影響  76 xss 竊取cookie值  76 通過 javascript攻擊  79 篡改網頁  80 反射型 xss與存儲型xss  82 安全隱患的產生原因  84 html 轉義的概要  84 元素內容的 xss  85 沒有用引號括起來的屬性值的 xss  85 用引號括起來的屬性值的 xss  85 對策  86 xss 對策的基礎  86 指定響應的字符編碼  87 xss 的輔助性對策  88 對策總結  89 參考:使用perl的對策示例  89 使用 perl進行html轉義的方法  89 指定響應的字符編碼  89 4.3.2 跨站腳本(進階篇)  90 href 屬性與src屬性的xss  91 生成 url時的對策.  92 校驗鏈接網址  92 javascript 的動態生成  92 事件綁定函數的 xss  92 script 元素的xss  94 javascript 字符串字面量動態生成的對策  95 dom based xss  97 允許 html標簽或css時的對策  99 參考:perl中轉義unicode的函數  99 4.3.3 錯誤消息導致的信息泄漏  100 總結  100 繼續深入學習  100 4-4 sql 調用相關的安全隱患  101 4.4.1 sql 注入  101 概要  101 攻擊手段與影響  102 示例腳本解說  102 錯誤消息導致的信息泄漏  103 union select 致使的信息泄漏  104 使用 sql注入繞過認證  104 通過 sql注入攻擊篡改數據  106 其他攻擊  107 專欄  數據庫中表名與列名的調查方法  108 安全隱患的產生原因  109 字符串字面量的問題  109 針對數值的 sql注入攻擊  110 對策  110 使用占位符拼接 sql語句  111 專欄  采用 mdb2的原因  111 為什么使用占位符會安全  111 參考:like語句與通配符  113 使用占位符的各種處理  114 sql 注入的輔助性對策  116 總結  117 繼續深入學習  117 參考:無法使用占位符時的對策  117 參考:perl+mysql的安全連接方法  118 參考:php+pdo+mysql的安全連接方法  118 參考:java+mysql的安全連接方法  118 4-5 關鍵處理中引入的安全隱患  120 4.5.1 跨站請求偽造(csrf)  120 概要  120 攻擊手段與影響  121 輸入-執行”模式的 csrf攻擊  121 csrf 攻擊與xss攻擊  124 存在確認頁面時的 csrf攻擊  125 專欄  針對內部網絡的 csrf攻擊  127 安全隱患的產生原因  128 對策  129 篩選出需要防范 csrf攻擊的頁面  129 確認是正規用戶自愿發送的請求  130 專欄  令牌與一次性令牌  131 csrf 的輔助性對策  133 對策總結  133 4-6 不完善的會話管理  134 4.6.1 會話劫持的原因及影響  134 預測會話 id  134 竊取會話 id  134 挾持會話 id  135 會話劫持的方法總結  135 會話劫持的影響  135 4.6.2 會話 id可預測  136 概要  136 攻擊手段與影響  136 常見的會話 id生成方法  136 使用推測出的會話 id嘗試偽裝  137 偽裝造成的影響  137 安全隱患的產生原因  137 對策  138 改善 php的會話id的隨機性的方法  138 參考:自制會話管理機制產生的其他隱患  139 4.6.3 會話 id嵌入url  139 概要  139 攻擊手段與影響  140 會話 id嵌入url所需的條件  140 范例腳本解說  141 通過 referer泄漏會話id所需的條件  142 攻擊流程  142 事故性的會話 id泄漏  143 影響  144 安全隱患的產生原因  144 對策  144 php  144 java servlet(j2ee)  145 asp.net  145 4.6.4 固定會話 id  145 概要  145 攻擊手段與影響  146 示例腳本介紹  146 會話固定攻擊解說  148 登錄前的會話固定攻擊  148 會話采納  151 僅在 cookie中保存會話id的網站固定會話id  151 會話固定攻擊的影響  151 安全隱患的產生原因  152 對策  152 無法更改會話 id時采用令牌  153 登錄前的會話固定攻擊的對策  154 總結  154 4-7 重定向相關的安全隱患  155 4.7.1 自由重定向漏洞  155 概要  155 攻擊手段與影響  156 安全隱患的產生原因  159 允許自由重定向的情況  159 對策  160 固定重定向的目標 url  160 使用編號指定重定向的目標 url  160 校驗重定向的目標域名  160 專欄  警告頁面  162 4.7.2 http 消息頭注入  162 概要  162 攻擊手段與影響  163 重定向至外部域名  165 專欄  http 響應截斷攻擊  166 生成任意 cookie  166 顯示偽造頁面  168 安全隱患的產生原因  170 專欄  http 消息頭與換行  171 對策  171 對策 1:不將外界參數作為http響應消息頭輸出  171 對策 2:執行以下兩項內容  171 專欄  php 的header函數中進行的換行符校驗  173 4.7.3 重定向相關的安全隱患總結  173 4-8 cookie 輸出相關的安全隱患  174 4.8.1 cookie 的用途不當  174 不該保存在 cookie中的數據  174 參考:最好不要在cookie中保存數據的原因  174 專欄  padding oracle 攻擊與ms10-070  176 4.8.2 cookie 的安全屬性設置不完善  176 概要  176 攻擊手段與影響  177 關于抓包方法的注意點  180 安全隱患的產生原因  181 什么樣的應用程序不能在 cookie中設置安全屬性  181 對策  181 給保存會話 id的cookie設置安全屬性的方法  182 使用令牌的對策  182 使用令牌能確保安全性的原因  184 除安全屬性外其他屬性值需要注意的地方  184 domain 屬性  184 path 屬性  185 expires 屬性  185 httponly 屬性  185 總結  185 4-9 發送郵件的問題  186 4.9.1 發送郵件的問題概要  186 郵件頭注入漏洞  186 使用 hidden參數保存收件人信息  186 參考:郵件服務器的開放轉發  187 4.9.2 郵件頭注入漏洞  187 概要  187 攻擊手段與影響  188 攻擊方式 1:添加收件人  190 攻擊方式 2:篡改正文  191 通過郵件頭注入攻擊添加附件  192 安全隱患的產生原因  193 對策  194 使用專門的程序庫來發送郵件  194 不將外界傳入的參數包含在郵件頭中  194 發送郵件時確保外界傳入的參數中不包含換行符  195 郵件頭注入的輔助性對策  195 總結  196 繼續深入學習  196 10-4 文件處理相關的問題  197 4.10.1 目錄遍歷漏洞  197 概要  197 攻擊手段與影響  198 專欄  從腳本源碼開始的一連串的信息泄漏  200 安全隱患的產生原因  200 對策  201 避免由外界指定文件名  201 文件名中不允許包含目錄名  201 專欄  basename 函數與空字節  202 限定文件名中僅包含字母和數字  202 總結  203 4.10.2 內部文件被公開  203 概要  203 攻擊手段與影響  203 安全隱患的產生原因  204 對策  205 參考:apache中隱藏特定文件的方法  205 11-4 調用 os命令引起的安全隱患  206 4.11.1 os 命令注入  206 概要  206 攻擊手段與影響  207 調用 sendmail命令發送郵件  207 os 命令注入攻擊與影響  209 安全隱患的產生原因  210 在 shell中執行多條命令  210 使用了內部調用 shell的函數  211 安全隱患的產生原因總結  212 對策  212 在設計階段決定對策方針  213 選擇不調用 os命令的實現方法  213 避免使用內部調用 shell的函數  213 不將外界輸入的字符串傳遞給命令行參數   216 使用安全的函數對傳遞給 os命令的參數進行轉義  216 os 命令注入攻擊的輔助性對策  217 參考:內部調用shell的函數  218 12-4 文件上傳相關的問題  219 4.12.1 文件上傳問題的概要  219 針對上傳功能的 dos攻擊  219 專欄  內存使用量與 cpu使用時間等其他需要關注的資源  220 使上傳的文件在服務器上作為腳本執行  220 誘使用戶下載惡意文件  221 越權下載文件  222 4.12.2 通過上傳文件使服務器執行腳本   222 概要  222 攻擊手段與影響  223 示例腳本解說  223 專欄  警惕文件名中的 xss  224 php 腳本的上傳與執行  224 安全隱患的產生原因  225 對策  225 專欄  校驗擴展名時的注意點  228 4.12.3 文件下載引起的跨站腳本  228 概要  228 攻擊手段與影響  229 圖像文件引起的 xss  229 pdf 下載引起的xss  231 安全隱患的產生原因  234 內容為圖像時  234 內容不為圖像時  235 對策  236 文件上傳時的對策  236 專欄  bmp 格式的注意點與ms07-057   238 文件下載時的對策  238 其他對策  239 專欄  將圖像托管在其他域名  240 參考:用戶pc中沒有安裝對應的應用程序時  240 總結  241 13-4 include 相關的問題  242 4.13.1 文件包含攻擊  242 概要  242 攻擊手段與影響  243 文件包含引發的信息泄漏  244 執行腳本 1:遠程文件包含攻擊(rfi)  244 專欄  rfi 攻擊的變種  245 執行腳本 2:惡意使用保存會話信息的文件  246 安全隱患的產生原因  248 對策  248 總結  248 14-4 eval 相關的問題  249 4.14.1 eval 注入  249 概要  249 攻擊手段與影響  250 存在漏洞的應用  250 攻擊手段  252 安全隱患的產生原因  253 對策  253 不使用 eval  253 避免 eval的參數中包含外界傳入的參數  254 限制外界傳入 eval的參數中只包含字母和數字  254 參考:perl的eval代碼塊形式  254 總結  255 繼續深入學習  255 15-4 共享資源相關的問題  256 4.15.1 競態條件漏洞  256 概要  256 攻擊手段與影響  257 安全隱患的產生原因  258 對策  259 避免使用共享資源  259 使用互斥鎖  259 總結  260 參考:java servlet的其他注意點  260 第5章 典型安全功能  261 5-1 認證  262 5.1.1 登錄功能  262 針對登錄功能的攻擊  262 通過 sql注入攻擊來跳過登錄功能  262 通過 sql注入攻擊獲取用戶密碼  263 在登錄頁面進行暴力破解  263 通過社會化攻擊得到用戶密碼  263 通過釣魚方法獲取密碼  264 登錄功能被破解后的影響  264 如何防止非法登錄  264 確保系統中不存在 sql注入等安全性bug  264 設置難以猜測的密碼  265 密碼的字符種類和長度要求  265 密碼的使用現狀  266 應用程序設計中關于密碼的需求  266 嚴格的密碼檢查原則  267 5.1.2 針對暴力破解攻擊的對策  268 初步認識賬號鎖定  268 暴力破解攻擊的檢測和對策  268 字典攻擊  269 joe 賬號檢索  269 逆向暴力破解  269 針對變種暴力破解的對策  269 5.1.3 密碼保存方法  271 保護密碼的必要性  271 利用加密方式進行密碼保護及其注意事項  271 專欄  數據庫加密和密碼保護  272 利用信息摘要來進行密碼保護及其注意事項   272 什么是信息摘要  272 專欄  密碼學級別的散列函數需要滿足的要求  273 利用信息摘要保護密碼  273 威脅 1: 離線暴力破解  274 威脅 2:彩虹破解(rainbow crack)  275 威脅 3:在用戶數據庫里創建密碼字典  276 如何防止散列值被破解  277 對策 1: salt(加鹽)  277 對策 2:stretching(延展計算)  278 實現示例  278 專欄  密碼泄露途徑  280 5.1.4 自動登錄  280 危險的實現方式示例  281 安全的自動登錄實現方式  281 延長會話有效期  282 使用令牌實現自動登錄  283 基于認證票的自動登錄方式  286 三種方法的比較  286 如何降低自動登錄帶來的風險  286 5.1.5 登錄表單  286 專欄  密碼確實需要掩碼顯示嗎  287 5.1.6 如何顯示錯誤消息  288 5.1.7 退出登錄功能  289 5.1.8 認證功能總結  290 參考:彩虹表原理  290 5-2賬號管理  293 5.2.1 用戶注冊  293 郵箱地址確認  293 防止用戶 id重復  295 例子 1:id相同密碼不同可以注冊的網站  295 例子 2:用戶id沒有添加唯一性約束的網站  295 應對自動用戶注冊  296 利用 captcha防止自動注冊  296 5.2.2 修改密碼  297 確認當前密碼  297 修改密碼后向用戶發送郵件通知  298 密碼修改功能容易發生的漏洞  298 5.2.3 修改郵箱地址  298 修改郵箱地址功能要考慮的安全對策  299 5.2.4 密碼找回  299 面向管理員的密碼找回功能  300 面向用戶的密碼找回功能  300 對用戶進行身份確認  301 如何發送密碼通知  301 5.2.5 賬號凍結  302 5.2.6 賬號刪除  303 5.2.7 賬號管理總結  303 5 3 授權  304 5.3.1 什么是授權  304 5.3.2 典型的授權漏洞  304 更改資源 id后可以查看沒有權限查看的信息  304 只控制菜單的顯示或不顯示  305 使用 hidden參數或者cookie保存權限信息   306 授權漏洞總結  307 專欄  將私密信息嵌入 url進行授權處理  307 5.3.3 授權管理的需求設計  307 專欄  什么是角色  308 5.3.4 如何正確實現授權管理  308 5.3.5 總結  309 5 4 日志輸出  310 5.4.1 日志輸出的目的  310 5.4.2 日志種類  310 錯誤日志  311 訪問日志  311 調試日志  311 5.4.3 有關日志輸出的需求  311 需要記錄到日志里的所有事件  312 日志里應包括的信息和格式  312 日志文件保護  312 日志文件保存位置  313 日志文件保存期限  313 服務器的時間調整  313 5.4.4 實現日志輸出  313 5.4.5 總結  314 第6章 字符編碼和安全 315 6-1 字符編碼和安全概要  316 6-2 字符集  317 什么是字符集  317 ascii 和iso-8859-1  317 jis 規定的字符集  318 微軟標準字符集  318 unicode  319 gb2312  319 gbk  319 gb18030  320 不同字符相同編碼的問題  320 字符集的處理引起的漏洞  320 6-3 字符編碼方式  321 什么是編碼方式  321 shift_jis  321 euc-jp  325 iso-2022-jp  326 utf-16  326 utf-8  327 gb2312  329 gbk  330 gb18030  331 6-4 由字符編碼引起的漏洞總結  332 字符編碼方式中非法數據導致的漏洞  332 對字符編碼方式處理存在紕漏導致的漏洞   332 在不同字符集間變換導致的漏洞  332 6-5 如何正確處理字符編碼  333 在應用內統一使用的字符集  333 輸入非法數據時報錯并終止處理  335 處理數據時使用正確的編碼方式  335 專欄  調用 htmlspecialchars函數時必須指定字符編碼方式  336 輸出時設置正確的字符編碼方式  336 其他對策:盡量避免編碼自動檢測  337 6-6 總結  338 如何提高 web網站的安全性 第7章  339 7-1 針對 web服務器的攻擊途徑和防范措施  341 7.1.1 利用基礎軟件漏洞進行攻擊  341 7.1.2 非法登錄  341 7.1.3 對策  341 停止運行不需要的軟件  342 定期實施漏洞防范措施  342 選定軟件時確認軟件的升級狀況  342 確定打補丁方式  343 關注各種漏洞相關信息  344 確認漏洞后調查補丁狀況以及防范對策、并制定對應計劃  344 執行漏洞對應計劃  345 對不需要對外公開的端口或服務加以訪問限制  346 通過端口掃描確認各端口服務狀態  347 提高認證強度  348 7-2 防范偽裝攻擊的對策  349 7.2.1 網絡偽裝的手段  349 針對 dns服務器的攻擊  349 專欄  visa 域名問題  350 arp 欺騙攻擊  350 7.2.2 釣魚攻擊  350 7.2.3 web 網站的偽裝攻擊對策  351 網絡層的對策  351 同一網段內不放置可能存在漏洞的服務器   351 強化 dns運維  351 引入 ssl/tls  352 專欄  免費的數字證書  354 使用便于記憶的域名  354 7-3 防范網絡監聽、篡改的對策  355 7.3.1 網絡監聽、篡改的途徑  355 通過無線網進行監聽、篡改  355 利用交換機端口鏡像  355 利用代理服務器  355 偽裝成 dhcp服務器  355 使用 arp欺騙攻擊和dns緩存污染攻擊(dns cache poisoning)  355 7.3.2 中間人攻擊  356 使用 fiddler模擬中間人攻擊  356 專欄  請不要手動安裝證書  358 7.3.3 對策  359 使用 ssl時的注意事項  359 專欄  ssl 認證標簽  360 7-4 防范惡意軟件的對策  361 7.4.1 什么是 web網站的惡意軟件對策  361 7.4.2 惡意軟件的感染途徑  361 7.4.3 web 網站惡意軟件防范對策概要  362 7.4.4 如何確保服務器不被惡意軟件感染  363 探討是否需要制定針對惡意軟件的防范措施   363 制定病毒防范政策并向用戶公開  363 使用防病毒軟件  364 專欄  web 網站的防病毒對策和gumblar的關系  365 7-5 總結  366 開發安全的 web應用所需要的管理 第8章  367 8-1 開發管理中的安全對策概要  368 8-2 開發體制  369 開發標準的制定  369 教育培訓  369 8-3 開發過程  371 8.3.1 規劃階段的注意事項  371 8.3.2 招標時的注意事項  371 專欄  誰應該對安全漏洞負責  372 8.3.3 需求分析時的注意事項  372 8.3.4 概要設計的推進方法  373 8.3.5 詳細設計和編碼階段的注意事項   374 8.3.6 安全性測試的重要性及其方法  374 8.3.7 web 健康診斷基準  374 8.3.8 承包方測試  376 8.3.9 發包方測試(驗收)  376 8.3.10 運維階段的注意事項  377 8-4 總結  378
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看