網絡攻防實戰研究:MySQL數據庫安全

祝烈煌,董健,胡光俊

  • 出版商: 電子工業
  • 出版日期: 2020-09-01
  • 售價: $594
  • 貴賓價: 9.5$564
  • 語言: 簡體中文
  • 頁數: 301
  • ISBN: 7121355302
  • ISBN-13: 9787121355301
  • 相關分類: MySQLSQL

立即出貨

買這商品的人也買了...

相關主題

商品描述

數據庫是信息系統的核心,存儲著大量高價值的業務數據和客戶信息,在眾多黑客攻擊案例中,數據庫一直是黑客攻擊的終極目標,因此,數據庫攻防研究已經成為企事業單位網絡安全工作的重點和難點。本書從MySQL滲透測試基礎、MySQL手工註入分析與安全防範、MySQL工具註入分析與安全防範、MySQL註入Payload原理分析、phpMyAdmin漏洞利用分析與安全防範、MySQL高級漏洞利用分析與安全防範、MySQL提權漏洞分析與安全防範、MySQL安全加固八個方面,對MySQL數據庫攻防技術進行全方位研究和分析,實用性強。本書既可以作為企事業單位的網絡安全參考資料,也可以作為大專院校網絡安全相關專業的教材。

目錄大綱

第1章 MySQL滲透測試基礎 1 1.1 Windows下PHP+MySQL+IIS安全實驗平臺的搭建 1 1.1.1 PHP的基本準備工作 1 1.1.2 MySQL的基本準備工作 3 1.1.3 讓IIS支持PHP 5 1.1.4 測試PHP環境 10 1.2 搭建DVWA滲透測試平臺 10 1.2.1 在Windows上搭建DVWA滲透測試平臺 11 1.2.2 在Kali上安裝DVWA滲透測試平臺 13 1.3 MySQL基礎 16 1.3.1 MySQL連接 16 1.3.2 數據庫密碼操作 18 1.3.3 數據庫操作命令 18 1.4 MySQL數據庫中數據表亂碼解決方法 21 1.4.1 字符集基礎知識 21 1.4.2 字符集亂碼轉換 23 1.5 批量修改MySQL數據庫引擎 26 1.5.1 MySQL數據庫引擎簡介 26 1.5.2 相關命令 28 1.5.3 批量修改 29 1.6 MySQL數據庫的導入與導出 30 1.6.1 Linux下MySQL數據庫的導入與導出 30 1.6.2 Windows下MySQL數據庫的導入與導出 33 1.6.3 將html文件導入MySQL數據庫 33 1.6.4 將MSSQL數據庫導入MySQL數據庫 37 1.6.5 將xls和xlsx文件導入MySQL數據庫 38 1.6.6 將xml文件導入Navicat for MySQL 38 1.6.7 通過Navicat for MySQL代理導入數據 42 1.6.8 導入技巧和錯誤處理 43 1.7 將文本文件去重並導入MySQL數據庫 45 1.7.1 文件排序命令sort 45 1.7.2 去重命令uniq 45 1.8 數據庫管理利器Adminer 46 1.8.1 測試程序運行情況 46 1.8.2 選擇並查看數據庫 47 1.8.3 導出和導入數據庫 47 1.9 MySQL數據庫密碼安全 49 1.9.1 MySQL數據庫的加密方式 49 1.9.2 MySQL數據庫文件結構 50 1.9.3 MySQL密碼散列值 50 1.9.4 Hashcat和John the Ripper的使用 51 1.9.5 Cain的使用 51 第2章 MySQL手工註入分析與安全防範 61 2.1 SQL註入基礎 61 2.1.1 什麽是SQL 61 2.1.2 什麽是SQL註入 62 2.1.3 SQL註入攻擊的產生原因及危害 63 2.1.4 常見的SQL註入工具 63 2.2 MySQL註入基礎 64 2.2.1 MySQL系統函數 64 2.2.2 收集Windows和Linux文件列表 65 2.2.3 常見的MySQL註入攻擊方法 66 2.3 MySQL手工註入分析 67 2.3.1 註入基本信息 67 2.3.2 確定表和字段 70 2.4 示例:手工註入測試 75 2.4.1 進行手工註入 75 2.4.2 獲取WebShell 78 2.4.3 安全防禦措施 79 第3章 MySQL工具註入分析與安全防範 81 3.1 sqlmap的使用 81 3.1.1 簡介 81 3.1.2 下載及安裝 81 3.1.3 SQL參數詳解 82 3.1.4 檢測SQL註入漏洞 88 3.1.5 直接連接數據庫 89 3.1.6 數據庫相關操作 89 3.1.7 使用方法 90 3.2 示例:使用sqlmap對網站進行滲透測試 93 3.2.1 漏洞掃描與發現 93 3.2.2 MySQL註入漏洞分析 93 3.2.3 測試實戰 94 3.2.4 安全防禦措施 98 3.3 示例:使用sqlmap對服務器進行MySQL註入和滲透測試 98 3.3.1 測試實戰 98 3.3.2 測試技巧 102 3.3.3 安全防禦措施 103 3.4 示例:使用sqlmap直接連接數據庫 103 3.4.1 適用場景 103 3.4.2 賬號信息獲取思路分析 103 3.4.3 Shell獲取思路分析 103 3.4.4 測試實戰 104 3.4.5 安全防禦措施 108 3.5 示例:利用Metasploit對MySQL進行滲透測試 108 3.5.1 Metasploit概述 108 3.5.2 測試思路 109 3.5.3 信息獲取思路分析 109 3.5.4 密碼獲取思路分析 111 3.5.5 MySQL提權測試 112 3.5.6 溢出漏洞測試模塊 113 3.5.7 測試技巧 114 3.5.8 安全防禦措施 114 3.6 示例:對MySQL註入漏洞的滲透測試 114 3.6.1 基本信息獲取思路分析 114 3.6.2 進行SQL註入測試 115 3.6.3 WebShell獲取思路分析 116 3.6.4 安全防禦措施 118 3.7 示例:使用WebCruiser和Havij對網站進行滲透測試 118 3.7.1 測試實戰 118 3.7.2 測試技巧 122 3.7.3 安全防禦措施 122 3.8 示例:使用sqlmap對服務器進行滲透測試 122 3.8.1 使用sqlmap進行滲透測試的常規思路 123 3.8.2 sqlmap的自動獲取功能 123 3.8.3 測試實戰 124 3.8.4 安全防禦措施 130 3.9 示例:通過Burp Suite和sqlmap進行SQL註入測試 130 3.9.1 sqlmap中的相關參數 130 3.9.2 Burp Suite抓包 130 3.9.3 使用sqlmap進行SQL註入測試 132 3.9.4 安全防禦措施 135 3.10 示例:對利用報錯信息構造SQL語句並繞過登錄頁面的分析 135 3.10.1 登錄頁面攻擊思路分析 135 3.10.2 密碼繞過漏洞原理分析 136 3.10.3 漏洞實戰 136 3.10.4 安全防禦措施 137 第4章 MySQL註入Payload原理分析 139 4.1 MySQL註入Payload的類型介紹及原理分析 139 4.1.1 基於報錯的註入 140 4.1.2 基於布爾運算的盲註 146 4.1.3 聯合查詢註入 148 4.1.4 堆查詢註入 149 4.1.5 基於時間的盲註 150 4.2 MySQL註入Payload的高級技巧 151 4.2.1 Web應用防護系統 151 4.2.2 WAF防範SQL註入的原理 152 4.2.3 寬字節註入 152 4.2.4 註釋符的使用 153 4.2.5 對通過Payload繞過WAF檢測的分析 154 4.2.6 對Payload中的MySQL關鍵字變換繞過的分析 155 4.2.7 MySQL中的等價函數及符號替換技巧 156 第5章 phpMyAdmin漏洞利用分析與安全防範 159 5.1 phpMyAdmin網站路徑信息獲取分析 159 5.1.1 網站路徑信息獲取思路概述 159 5.1.2 phpinfo信息泄露概述 161 5.1.3 通過配置文件讀取網站信息 161 5.1.4 通過load_file() 函數讀取配置文件 163 5.1.5 通過錯誤頁面獲取網站路徑 164 5.2 源碼泄露對系統權限的影響 167 5.2.1 MySQL root賬號密碼獲取分析 167 5.2.2 MySQL root賬號WebShell獲取分析 167 5.2.3 phpStudy架構常見漏洞分析 168 5.3 示例:對使用SHODAN獲取phpMyAdmin信息的分析 171 5.3.1 單關鍵字搜索 171 5.3.2 多關鍵字搜索 172 5.3.3 查看搜索結果 172 5.3.4 對搜索結果進行測試 172 5.3.5 搜索技巧 172 5.4 示例:對phpMyAdmin密碼暴力破解的分析 173 5.4.1 破解準備工作 173 5.4.2 破解過程分析 173 5.4.3 安全防禦措施 177 5.5 示例:對獲取Linux服務器中網站WebShell的分析 178 5.5.1 掃描埠開放情況 178 5.5.2 網站真實路徑獲取分析 178 5.5.3 WebShell獲取分析 180 5.5.4 服務器提權分析 181 5.5.5 安全防禦措施 181 5.6 示例:對通過MySQL的general_log_file獲取WebShell的分析 182 5.6.1 信息收集分析 182 5.6.2 WebShell獲取分析 182 5.6.3 常用命令 187 第6章 MySQL高級漏洞利用分析與安全防範 189 6.1 MySQL口令掃描 189 6.1.1 使用Metasploit 189 6.1.2 使用Nmap 191 6.1.3 使用xHydra和Hydra 191 6.1.4 使用Hscan 194 6.1.5 使用xSQL Scanner 194 6.1.6 使用Bruter 195 6.1.7 使用Medusa 196 6.1.8 使用Python腳本 197 6.1.9 小結 200 6.2 示例:通過MySQL數據庫對網站進行滲透測試 200 6.2.1 失敗的MySQL工具測試 200 6.2.2 換一種思路進行測試 201 6.2.3 小結 204 6.3 示例:phpinfo信息泄露漏洞分析 204 6.3.1 漏洞分析 204 6.3.2 安全防禦措施 206 6.4 示例:my.php文件SQL註入漏洞分析 206 6.4.1 漏洞分析 207 6.4.2 測試過程 207 6.4.3 安全防禦措施 209 6.5 示例:faq.php文件SQL註入漏洞分析 209 6.5.1 漏洞分析 209 6.5.2 測試過程 212 6.5.3 安全防禦措施 217 6.6 示例:Zabbix SQL註入漏洞分析 217 6.6.1 漏洞概述 218 6.6.2 漏洞原理分析 218 6.6.3 漏洞利用方法分析 222 6.6.4 在線漏洞檢測 225 6.6.5 漏洞修復方案 225 6.7 示例:LuManager SQL註入漏洞分析 225 6.7.1 測試過程 226 6.7.2 漏洞修復方案 228 第7章 MySQL提權漏洞分析與安全防範 229 7.1 MySQL提權漏洞概述 229 7.1.1 MySQL提權的條件 229 7.1.2 MySQL密碼獲取與破解 230 7.1.3 通過MySQL獲取WebShell 231 7.2 MOF提權漏洞分析 232 7.2.1 漏洞利用方法分析 232 7.2.2 漏洞測試 233 7.2.3 安全防範措施 237 7.3 UDF提權漏洞分析 237 7.3.1 UDF簡介 237 7.3.2 Windows UDF提權分析 238 7.3.3 漏洞測試 239 7.3.4 安全防範措施 242 第8章 MySQL安全加固 243 8.1 Windows平臺PHP+MySQL+IIS架構通用安全配置 243 8.1.1 NTFS權限簡介 243 8.1.2 NTFS詳解之磁盤配額 244 8.1.3 NTFS詳解之Windows權限 248 8.1.4 特殊的Windows權限配置 250 8.2 Windows平臺PHP+MySQL+IIS架構高級安全配置 253 8.2.1 php.ini 254 8.2.2 php.ini的安全設置 254 8.2.3 IIS的安全設置 256 8.2.4 身份驗證高級配置 258 8.2.5 設置服務器只支持PHP腳本 259 8.2.6 Web目錄高級權限配置 260 8.3 MySQL用戶管理與權限管理 261 8.3.1 MySQL權限簡介 261 8.3.2 與MySQL權限相關的表 262 8.3.3 MySQL權限安全配置原則 264 8.3.4 MySQL權限管理操作 264 8.4 Linux平臺MySQL數據庫安全配置 268 8.4.1 安全地規劃和安裝MySQL數據庫 268 8.4.2 文件的授權管理與歸屬 270 8.4.3 安全地設置密碼和使用MySQL數據庫 273 8.4.4 mysqld安全相關啟動項 275 8.4.5 MySQL數據庫備份策略 276 8.4.6 編寫安全的MySQL程序代碼 277 8.4.7 部署SQL註入檢測和防禦模塊 277 8.5 MySQL數據庫安全加固措施 277 8.5.1 補丁安裝 277 8.5.2 賬戶密碼設置 278 8.5.3 匿名賬戶設置 278 8.5.4 數據庫授權 278 8.5.5 網絡連接 279 8.5.6 文件安全 279 8.6 示例:一次對網站入侵的快速處理 281 8.6.1 入侵情況分析 281 8.6.2 對服務器進行第一次安全處理 285 8.6.3 對服務器進行第二次安全處理 288 8.6.4 日誌分析和追蹤 290 8.6.5 小結 291