內容簡介
隨著網際網路的發展和網路套用的普及,Web套用無處不在,而這也帶來了許多安全問題。本書就著重通過案例講解Web滲透技術的實際套用,實戰性強,內容豐富。
目錄
第1章 Web滲透必備技術1
1.1 在Windows XP和Windows 7中
創建及使用VPN 2
1.1.1 在Windows XP中創建VPN 2
1.1.2 在Windows XP中使用VPN軟體 5
1.1.3 在Windows 7中創建VPN連線 7
1.2 用VPNBook和VPN Gate構建免費VPN平台 9
1.2.1 安裝並設定VPN Gate 10
1.2.2 訪問vpnbook.com獲取VPN密碼 10
1.3 在Windows 2003 Server中建立VPN伺服器 11
1.3.1 配置VPN的準備工作 11
1.3.2 配置VPN伺服器 12
1.3.3 VPN連線測試 16
1.3.4 查看出口IP位址 17
1.4 DOS基本命令 17
1.4.1 常見DOS基本命令 17
1.4.2 常見DOS網路命令 22
1.4.3 一些實用的DOS命令使用案例 27
1.5 域名查詢技術 28
1.5.1 域名小知識 29
1.5.2 域名在滲透中的作用 30
1.5.3 使用IP866網站查詢域名 30
1.5.4 使用yougetsignal網站查詢域名 31
1.5.5 使用Acunetix Web Vulnerability Scanner查詢子域名 32
1.5.6 旁註域名查詢 32
1.5.7 使用netcraft網站查詢域名 33
1.6 LCX連線埠轉發實現區域網路突破 33
1.6.1 確定被控制計算機的IP位址 33
1.6.2 在被控制計算機上執行連線埠轉發命令 34
1.6.3 在本機執行監聽命令 34
1.6.4 在本機使用遠程終端登錄 35
1.6.5 查看本地連線 36
1.7 遠程終端的安裝與使用 37
1.7.1 Windows 2000 Server開啟遠程終端 37
1.7.2 Windows XP開啟遠程終端 37
1.7.3 Windows 2003開啟遠程終端 39
1.7.4 一些常見開啟遠程終端服務的方法 40
1.7.5 開啟遠程終端控制案例 41
1.7.6 命令行開啟遠程終端 42
1.7.7 3389實用技巧 43
1.8 Windows下PHP+MySQL+IIS安全試驗平台的搭建 50
1.8.1 安裝IIS 51
1.8.2 下載最新的MySQL和PHP並安裝 52
1.8.3 PHP的基本準備工作 52
1.8.4 MySQL的基本準備工作 53
1.8.5 配置IIS支持PHP 55
1.8.6 測試PHP環境 58
1.9 一種新型PHP網站後門隱藏技術研究 58
1.9.1 概述 59
1.9.2 WebShell 59
1.9.3 常見的PHP WebShell後門隱藏技術 60
1.9.4 一種Windows下PHP後門隱藏技術研究 62
1.9.5 小結 62
1.10 一句話後門的利用及操作 63
1.10.1 執行“中國菜刀” 63
1.10.2 添加Shell 63
1.10.3 連線一句話後門 63
1.10.4 執行檔案操作 64
1.10.5 一句話後門的收集與整理 64
1.11 脫庫利器Adminer 67
1.11.1 測試程式運行情況 67
1.11.2 選擇並查看資料庫 67
1.11.3 導出資料庫 68
1.11.4 導入資料庫 68
1.11.5 執行SQL命令 68
1.12 MySQL資料庫導入與導出攻略 69
1.12.1 Linux命令行下MySQL資料庫的導入與導出 69
1.12.2 Windows下MySQL資料庫的導入與導出 72
1.12.3 將HTML檔案導入MySQL資料庫 72
1.12.4 將MSSQL資料庫導入MySQL資料庫 75
1.12.5 將XLS或者XLSX檔案導入MySQL資料庫 75
1.12.6 導入技巧和出錯處理 75
1.13 SQL Server還原資料庫攻略 76
1.13.1 還原備份SQL Server 2005資料庫 77
1.13.2 SQL Server 2008資料庫還原故障的解決 82
1.14 使用IIS PUT Scaner掃描常見連線埠 84
1.14.1 設定掃描IP位址和掃描連線埠 84
1.14.2 查看和保存掃描結果 84
1.14.3 再次掃描掃描結果 85
1.15 使用Cain嗅探FTP密碼 86
1.15.1 安裝Cain 86
1.15.2 設定Cain 86
1.15.3 開始監聽 86
1.15.4 運行FTP客戶端軟體 86
1.15.5 查看監聽結果 87
1.15.6 小結與探討 88
1.16 Radmin遠控網路攻防全攻略 88
1.16.1 Radmin簡介 88
1.16.2 Radmin的基本操作 89
1.16.3 Radmin的使用 94
1.16.4 Radmin口令暴力攻擊 97
1.16.5 Radmin在滲透中的妙用 99
1.16.6 利用Radmin口令進行區域網路滲透控制 103
1.16.7 利用Radmin口令進行外網滲透控制 105
1.17 巧用Telnet做後門和跳板 106
1.17.1 設定並啟動Telnet服務 107
1.17.2 使用Telnet客戶端登錄遠程伺服器 107
1.17.3 使用Telnet伺服器管理程式更改設定 108
1.17.4 登錄遠程Telnet伺服器 110
1.18 利用phpMyAdmin滲透某Linux伺服器 111
1.18.1 分析列目錄檔案和目錄 111
1.18.2 獲取網站的真實路徑 112
1.18.3 將一句話後門導入網站 112
1.18.4 獲取WebShell 112
1.18.5 導出資料庫 113
1.19 使用CDlinux無線破解系統輕鬆破解無線密碼 113
1.19.1 準備工作 114
1.19.2 開始破解 114
1.19.3 破解保存的握手包檔案 115
1.20 NMap使用技巧及攻略 116
1.20.1 安裝與配置NMap 116
1.20.2 NMap掃描實例 118
1.20.3 NMap掃描高級技巧 119
第2章 實戰中常見的加密與解密 122
2.1 使用GetHashes獲取Windows系統的Hash密碼值 122
2.1.1 Hash的基本知識 123
2.1.2 Hash算法在密碼上的套用 123
2.1.3 Windows下的Hash密碼值 124
2.1.4 Windows下NTLM Hash的生成原理 125
2.1.5 使用GetHashes獲取Windows的Hash密碼值 125
2.1.6 使用GetHashes獲取系統Hash值的技巧 127
2.1.7 相關免費資源 127
2.2 使用SAMInside獲取Windows系統密碼 127
2.2.1 下載和使用SAMInside 127
2.2.2 使用Scheduler導入本地用戶的Hash值 128
2.2.3 查看導入的Hash值 128
2.2.4 導出系統用戶的Hash值 128
2.2.5 設定SAMInside的破解方式 129
2.2.6 執行破解 129
2.2.7 使用Ophcrack破解作業系統用戶密碼值 129
2.3 使用WinlogonHack獲取系統密碼 130
2.3.1 遠程終端密碼泄露分析 130
2.3.2 WinlogonHack截取密碼的原理 131
2.3.3 使用WinlogonHack獲取密碼實例 132
2.3.4 WinlogonHack攻擊方法探討 133
2.3.5 WinlogonHack防範方法探討 134
2.4 使用Ophcrack破解系統Hash密碼 134
2.4.1 通過已有信息再次進行搜尋和整理 134
2.4.2 安裝Ophcrack 136
2.4.3 使用Ophcrack 136
2.4.4 下載彩虹表 136
2.4.5 設定彩虹表 136
2.4.6 準備破解材料 137
2.4.7 開始破解 137
2.4.8 彩虹表破解密碼防範策略 140
2.5 MD5加密與解密 141
2.5.1 MD5加解密知識 141
2.5.2 通過cmd5網站生成MD5密碼 141
2.5.3 通過cmd5網站破解MD5密碼 142
2.5.4 線上MD5破解網站收費破解高難度MD5密碼值 142
2.5.5 使用字典暴力破解MD5密碼值 142
2.5.6 一次破解多個密碼 144
2.5.7 MD5變異加密方法破解 144
2.6 Serv-U密碼破解 145
2.6.1 獲取ServUDaemon.ini檔案 145
2.6.2 查看ServUDaemon.ini檔案 145
2.6.3 破解Serv-U密碼 147
2.6.4 驗證FTP 147
2.7 Access資料庫破解實戰 147
2.7.1 Access資料庫基本知識 148
2.7.2 Access資料庫的主要特點 148
2.7.3 Access資料庫的缺點和局限性 149
2.7.4 Access資料庫的版本 149
2.7.5 Access密碼破解實例 149
2.8 巧用Cain破解MySQL資料庫密碼 150
2.8.1 MySQL加密方式 150
2.8.2 MySQL資料庫檔案結構 151
2.8.3 獲取MySQL資料庫用戶密碼加密字元串 151
2.8.4 將MySQL用戶密碼字元串加入Cain破解列表 152
2.8.5 使用字典進行破解 153
2.8.6 破解探討 155
2.9 MD5(Base64)加密與解密 158
2.9.1 MD5(dBase64)密碼 158
2.9.2 從網上尋找破解之路 159
2.9.3 生成Hash值 159
2.9.4 比對Hash值和加密密碼值 159
2.9.5 破解方式 160
2.9.6 探尋MD5(Base64)的其他破解方式 161
2.9.7 MD5(Base64)加解密原理 163
2.9.8 小結 163
2.10 Discuz! 論壇密碼記錄及安全驗證問題暴力破解研究 163
2.10.1 Discuz! 論壇密碼記錄程式的編寫及實現 163
2.10.2 Discuz! X2.5論壇密碼安全問題暴力破解 165
2.11 Windows Server 2003域控伺服器用戶賬號和密碼的獲取 167
2.11.1 域控伺服器滲透思路 167
2.11.2 區域網路域控伺服器滲透常見命令 167
2.11.3 域控伺服器用戶賬號和密碼獲取實例 169
2.12 使用fakesu記錄root用戶的密碼 171
2.12.1 使用kpr-fakesu.c程式記錄root用戶的密碼 172
2.12.2 運行鍵盤記錄程式 173
2.12.3 查看密碼記錄檔案 174
2.12.4 刪除安裝檔案 174
2.13 暴力破解工具Hydra使用攻略 174
2.13.1 Hydra簡介 175
2.13.2 Hydra的安裝與使用 175
2.13.3 Hydra用法實例 177
2.14 基於MD5算法的改進強加密方法 179
2.14.1 MD5簡介 179
2.14.2 MD5算法套用 180
2.14.3 改進後的加密方法 181
2.14.4 關鍵代碼與實現 182
2.14.5 討論與小結 184
2.15 pcAnywhere賬號和口令的破解 184
2.15.1 查看5631連線埠 184
2.15.2 查找pcAnywhere賬號和密碼檔案 185
2.15.3 破解CIF加密檔案 185
2.15.4 連線pcAnywhere服務端 185
2.16 使用Hashcat破解Windows系統賬號密碼 186
2.16.1 準備工作 186
2.16.2 獲取並整理密碼Hash值 187
2.16.3 破解Hash值 187
2.16.4 查看破解結果 188
2.16.5 小結 188
第3章 Web漏洞掃描 189
3.1 Windows系統口令掃描 189
3.1.1 使用NTScan掃描Windows口令 190
3.1.2 使用Tscrack掃描3389口令 194
3.1.3 使用Fast RDP Brute暴力破解3389口令 196
3.1.4 SQL Server 2000口令掃描 198
3.1.5 MySQL口令掃描案例 202
3.1.6 POP3口令掃描案例 206
3.2 使用HScan掃描及利用漏洞 207
3.2.1 使用HScan進行掃描 208
3.2.2 HScan掃描FTP口令控制案例一 210
3.2.3 HScan掃描FTP口令控制案例二 216
3.2.4 HScan掃描FTP口令控制案例三 217
3.2.5 HScan掃描FTP口令控制案例四 219
3.3 使用X-Scan掃描漏洞 223
3.3.1 設定掃描IP位址的範圍 223
3.3.2 確定掃描模組 224
3.3.3 設定掃描連線埠 224
3.3.4 實施掃描 225
3.3.5 查看掃描結果 225
3.3.6 小結 226
3.4 使用Acunetix Web Vulnerability Scanner掃描及利用網站漏洞 226
3.4.1 Acunetix Web Vulnerability Scanner簡介 226
3.4.2 使用Acunetix Web Vulnerability Scanner掃描網站漏洞 226
3.4.3 掃描結果分析 227
3.5 使用JSky掃描並滲透某管理系統 228
3.5.1 使用JSky掃描漏洞點 228
3.5.2 使用Pangonlin進行SQL注入探測 228
3.5.3 換一個工具進行檢查 228
3.5.4 檢測表段和檢測欄位 229
3.5.5 獲取管理員入口和進行登錄測試 229
3.5.6 獲取漏洞的完整掃描結果及進行安全評估 231
3.5.7 探討與思考 231
3.6 使用Router Scan掃描路由器密碼 232
3.6.1 運行Router Scan 2.47 232
3.6.2 設定Router Scan掃描參數 233
3.6.3 查看並分析掃描結果 235
3.7 通過掃描FTP口令滲透某職教網 236
3.7.1 信息收集 236
3.7.2 口令檢測 237
3.7.3 實施控制和滲透 238
3.7.4 區域網路滲透和查看 240
3.7.5 簡單的安全加固 243
3.7.6 小結 244
3.8 使用WATScan進行Web安全掃描 244
3.8.1 Web漏洞掃描 245
3.8.2 查看報告 246
第4章 常見檔案上傳漏洞及利用 247
4.1 利用FCKeditor漏洞滲透某Linux伺服器 247
4.1.1 對已有Shell進行分析和研究 248
4.1.2 測試上傳的WebShell 250
4.1.3 分析與收集WebShell所在伺服器的信息 251
4.1.4 伺服器提權 252
4.1.5 總結與思考 254
4.2 滲透某培訓伺服器 254
4.2.1 使用JSky進行漏洞掃描 254
4.2.2 通過SQL注入獲取管理員密碼 254
4.2.3 直接上傳WebShell 254
4.2.4 獲取WebShell 256
4.2.5 伺服器提權 256
4.2.6 登錄伺服器 256
4.2.7 抓取系統密碼並破解 256
4.2.8 總結與思考 257
4.3 利用Flash上傳漏洞滲透某伺服器 257
4.3.1 利用弱口令進入系統 257
4.3.2 尋找可利用的漏洞 258
4.3.3 獲取WebShell 259
4.3.4 伺服器提權 260
4.3.5 獲取管理員密碼 261
4.3.6 相鄰伺服器的滲透 261
4.3.7 總結與思考 261
4.4 由CuteEditor漏洞利用到全面控制伺服器 262
4.4.1 漏洞掃描 262
4.4.2 尋找突破點 264
4.4.3 掃描相鄰網站漏洞 265
4.4.4 SQL注入手工測試 265
4.4.5 獲取資料庫類型 265
4.4.6 使用Pangolin進行SQL注入測試 267
4.4.7 通過CuteEditor上傳獲得突破 267
4.4.8 提升許可權 270
4.4.9 安全建議和總結 273
4.5 Dvbbs 8.2外掛程式上傳漏洞的利用 274
4.5.1 Dvbbs 8.2外掛程式上傳漏洞利用研究 274
4.5.2 獲取WebShell 276
4.5.3 Dvbbs 8.2滲透思路與防範措施 278
4.6 利用cfm上傳漏洞滲透某伺服器 278
4.6.1 獲取後台許可權 279
4.6.2 伺服器提權 280
4.6.3 區域網路滲透 281
4.6.4 小結 282
4.7 eWebEditor編輯器漏洞攻擊案例 283
4.7.1 eWebEditor編輯器漏洞發現和利用 283
4.7.2 獲取WebShell許可權 285
4.7.3 獲取信息和進一步控制 285
4.7.4 小結 286
4.8 繞過後台密碼滲透某伺服器 286
4.8.1 獲取後台管理員許可權 286
4.8.2 獲取WebShell 287
4.8.3 伺服器提權 289
4.8.4 備份資料庫和代碼 290
4.8.5 小結 290
4.9 繞過密碼獲取某站點WebShell 290
4.9.1 漏洞掃描及利用 290
4.9.2 嘗試密碼繞過驗證登錄 293
4.9.3 獲取WebShell 294
4.9.4 獲取管理員密碼 295
4.9.5 下載資料庫和源程式 296
4.9.6 總結與思考 296
4.10 利用eWebEditor漏洞滲透某伺服器 297
4.10.1 漏洞挖掘 297
4.10.2 獲取WebShell 301
4.10.3 提升許可權 302
4.10.4 區域網路滲透 303
4.10.5 安全加固 305
4.11 對某網站的一次滲透 308
4.11.1 信息獲取 308
4.11.2 檢測漏洞 309
4.11.3 提權之路 312
4.11.4 總結與體會 315
4.12 通過修改後台系統設定獲取WebShell 315
4.12.1 修改上傳設定 315
4.12.2 獲取WebShell 315
4.12.3 總結與思考 317
第5章 SQL注入漏洞及利用 319
5.1 SQL注入漏洞 319
5.1.1 什麼是SQL注入 319
5.1.2 為什麼會存在SQL注入 320
5.1.3 SQL注入的原理、分類及攻擊步驟 320
5.1.4 SQL注入檢測工具 327
5.1.5 對SQL注入的檢測 331
5.1.6 對SQL注入的防護 333
5.1.7 小結 335
5.2 Access注入獲取WebShell 336
5.2.1 掃描漏洞 336
5.2.2 SQL注入測試 337
5.2.3 進入後台 337
5.2.4 獲取WebShell 338
5.2.5 導入Shell到網站根目錄 338
5.2.6 上傳大馬進行控制 339
5.3 DedeCMS全版本SQL注入漏洞利用代碼及工具 339
5.3.1 漏洞分析 340
5.3.2 漏洞利用實例 341
5.3.3 漏洞修複方法探討 344
5.4 對某網站的一次安全檢測 344
5.4.1 發現SQL注入點 344
5.4.2 獲取資料庫信息 344
5.4.3 獲取管理員賬號和密碼 344
5.4.4 查看網站真實路徑和檔案名稱稱等信息 345
5.4.5 獲取後台管理地址和許可權 345
5.4.6 利用FCKeditor編輯器漏洞獲取WebShell 345
5.4.7 獲取WebShell許可權 346
5.5 通過sa許可權注入獲取伺服器許可權 346
5.5.1 網站漏洞掃描 347
5.5.2 SQL注入滲透測試 347
5.5.3 直接執行DOS系統提權命令 347
5.5.4 獲取伺服器許可權 347
5.5.5 查看站點管理器 347
5.5.6 獲取sa賬號和密碼 348
5.5.7 使用Cain進行嗅探測試 348
5.5.8 獲取信箱賬號和密碼 349
5.5.9 總結與思考 349
5.6 通過SQL注入獲取某Linux伺服器許可權 350
5.6.1 掃描網站漏洞 350
5.6.2 進行SQL注入測試 350
5.6.3 獲取後台管理員許可權 350
5.6.4 對上傳功能漏洞進行測試 351
5.6.5 獲取檔案讀取漏洞 351
5.6.6 獲取Linux賬號和密碼 351
5.6.7 破解Linux賬號 351
5.6.8 獲取Linux SSH賬號許可權 351
5.6.9 總結與思考 352
5.7 Discuz! 7.2 faq.php檔案SQL注入漏洞分析及利用實戰 352
5.7.1 代碼分析 353
5.7.2 可利用EXP代碼 354
5.7.3 EXP工具的使用 355
5.7.4 漏洞思路的利用 355
5.7.5 修複方法 356
5.7.6 實際利用案例 356
5.8 實戰UC_Key獲取Discuz! X2.5論壇的WebShell 361
5.8.1 測試網上公布的0day代碼 362
5.8.2 實戰獲取WebShell 363
5.8.3 防範與總結 365
5.8.4 程式原始碼 366
5.9 對某虛擬主機的一次安全滲透 369
5.9.1 獲取虛擬主機上某站點的WebShell 369
5.9.2 使用WebShell中的提權功能進行提權嘗試 370
5.9.3 查看可寫目錄 370
5.9.4 滲透過程 372
5.9.5 滲透內外網 374
5.9.6 小結 375
5.10 使用Havij對某網站的一次滲透 375
5.10.1 SQL注入測試 375
5.10.2 使用Havij SQL注入攻擊進行自動檢測 376
5.10.3 獲得管理員賬號和密碼 376
5.10.4 嘗試讀取Linux系統中的檔案 377
5.10.5 構建和獲取WebShell 378
5.10.6 提權及下載資料庫 380
5.10.7 小結 380
第6章 高級滲透技術 382
6.1 社會工程學滲透 383
6.1.1 安全檢測 383
6.1.2 小遇周折,提權成功 384
6.1.3 我也來社工 387
6.1.4 總結與體會 390
6.2 網路維護過程中的滲透與反滲透 390
6.2.1 網站掛馬檢測和清除 390
6.2.2 系統入侵痕跡搜尋和整理 392
6.2.3 利用社會工程學進行反滲透 393
6.2.4 總結與思考 395
6.3 JBoss獲取WebShell 395
6.3.1 使用漏洞特徵進行搜尋 395
6.3.2 訪問網站並進行漏洞測試 395
6.3.3 添加WebShell的WAR檔案地址 396
6.3.4 套用修改使設定生效 396
6.3.5 充實“武器庫” 397
6.3.6 獲得WebShell 398
6.4 JBoss Application Server獲取WebShell 398
6.4.1 掃描JBoss Application Server連線埠 399
6.4.2 通過JBoss AS部署WebShell 400
6.4.3 獲取JSP的WebShell 403
6.5 Tomcat弱口令搞定某Linux伺服器 404
6.5.1 使用Apache Tomcat Crack暴力破解Tomcat口令 404
6.5.2 對掃描結果進行測試 404
6.5.3 部署WAR格式的WebShell 405
6.5.4 查看Web部署情況 405
6.5.5 獲取WebShell 405
6.5.6 查看用戶許可權 405
6.5.7 上傳其他WebShell 406
6.5.8 獲取系統加密的用戶密碼 406
6.5.9 獲取root用戶的歷史操作記錄 407
6.5.10 查看該網站域名的情況 407
6.5.11 獲取該網站的真實路徑 408
6.5.12 保留WebShell後門 408
6.5.13 總結與思考 408
6.6 Struts S016和S017漏洞利用實例 408
6.6.1 搜尋目標站點 409
6.6.2 測試網站能否正常訪問 409
6.6.3 測試Struts2 S016漏洞 410
6.6.4 獲取WebShell許可權 410
6.6.5 思考與總結 410
6.7 JspRun! 後台獲取WebShell 413
6.7.1 進入系統後台 413
6.7.2 新增模板 413
6.7.3 在模板中創建檔案 414
6.7.4 測試並訪問Shell 414
6.7.5 JspRun! 論壇的其他相關漏洞 415
6.7.6 總結與思考 415
6.8 ECSHOP後台獲取WebShell 416
6.8.1 驗證後台功能 416
6.8.2 猜測後台密碼 416
6.8.3 前台插入一句話後門代碼 417
6.8.4 查看留言內容 417
6.8.5 自定義備份ecs_feedback表 417
6.8.6 成功獲得WebShell 418
6.8.7 查看資料庫備份檔案 419
6.8.8 ECSHOP管理中心SQL查詢 419
6.8.9 小結 420
6.9 0day分析之COLDFUSION本地包含漏洞的利用方法 420
6.9.1 搭建Goldfusion測試平台 420
6.9.2 0day使用方法測試 420
6.9.3 LFI to Shell in Coldfusion 6-10利用方法分析 423
6.9.4 其他可供利用0day的分析 423
6.10 一種新型PHP網站後門隱藏技術研究 425
6.10.1 WebShell概述 425
6.10.2 常見的PHP WebShell後門隱藏技術 426
6.10.3 一種Windows下PHP後門隱藏技術的研究 428
6.10.4 小結 428
6.11 OpenSSL“心臟出血”漏洞分析及其利用 429
6.11.1 漏洞分析 429
6.11.2 可利用POC及其測試 430
6.11.3 OpenSSL檢測技術 434
6.11.4 漏洞修復建議 435
6.12 通過網上信息獲取某Linux伺服器WebShell 436
6.12.1 通過SSH賬號和密碼進行登錄測試 436
6.12.2 成功登錄Linux伺服器 436
6.12.3 查看伺服器檔案及其所有信息 437
6.12.4 查看伺服器所在IP網站域名情況 437
6.12.5 嘗試獲取WebShell 437
6.12.6 總結與思考 438
6.13 一句話密碼破解獲取某網站WebShell 438
6.13.1 獲取後台許可權 438
6.13.2 嘗試提權 439
6.13.3 列目錄以及檔案漏洞 439
6.13.4 一句話密碼破解 439
6.13.5 獲取目標WebShell許可權 440
6.13.6 小結 440
6.14 突破防篡改 440
6.14.1 初遇防篡改 441
6.14.2 突破上傳 442
6.15 滲透測試之旁註 443
6.15.1 信息收集 443
6.15.2 漏洞原理 444
6.15.3 漏洞利用 444
6.15.4 社工利用 446
6.16 區域網路滲透嗅探術 446
6.16.1 信息收集 447
6.16.2 套用突破 448
6.16.3 伺服器提權 449
6.16.4 嗅探 451
6.16.5 總結與思考 454
6.17 IIS隱性後門控制案例 455
6.17.1 安裝IIS後門 455
6.17.2 通過瀏覽器查看IIS後門 456
6.17.3 執行網頁木馬程式 456
6.17.4 小結 457
第7章 Windows和Linux提權技術 458
7.1 SQL Server 2005提權 458
7.1.1 查看資料庫連線檔案 458
7.1.2 獲取資料庫用戶和密碼 459
7.1.3 資料庫連線設定 459
7.1.4 查看連線信息 459
7.1.5 添加xp_cmdshell存儲過程 460
7.1.6 添加用戶 460
7.1.7 將普通用戶添加到管理員組 461
7.1.8 通過“XP_cmdshell exec”查看系統用戶 461
7.1.9 遠程終端登錄 461
7.1.10 小結 462
7.2 MySQL資料庫提權 462
7.2.1 設定MySQL提權腳本檔案 463
7.2.2 進行連線測試 463
7.2.3 創建shell函式 463
7.2.4 查看用戶 463
7.2.5 創建具有管理員許可權的用戶 464
7.2.6 提權成功 465
7.2.7 小結 466
7.3 Serv-U提權 466
7.3.1 利用WebShell查看系統管理員用戶組 467
7.3.2 執行SU Exp 467
7.3.3 檢查Serv-U提權情況 468
7.3.4 遠程終端登錄測試 468
7.3.5 小結 469
7.4 Windows Server 2008中Magic Winmail Server提權 469
7.4.1 獲取Winmail目錄地址 470
7.4.2 執行whoami命令 470
7.4.3 添加用戶到管理員組 470
7.4.4 設定並登錄遠程終端伺服器 471
7.4.5 Winmail信箱用戶與口令 471
7.4.6 進入信箱 472
7.4.7 Winmail伺服器防範 472
7.5 Pr提權滲透國外某高速伺服器 472
7.5.1 分析AWS掃描結果 472
7.5.2 獲取直接檔案上傳地址 473
7.5.3 直接上傳網頁木馬測試 473
7.5.4 創建並操作一句話後門 474
7.5.5 上傳大馬進行管理 474
7.5.6 查看網站伺服器檔案 474
7.5.7 查詢目標網站所在伺服器下的所有域名 476
7.5.8 分析site.mdb資料庫 476
7.5.9 上傳PHP WebShell 476
7.5.10 Pr提權 477
7.5.11 獲取遠程終端連線埠 478
7.5.12 登錄遠程終端 478
7.6 通過JBoss信息泄漏獲取WebShell 478
7.6.1 測試JBoss網頁 479
7.6.2 查看Tomcat的狀態 479
7.6.3 執行命令測試 479
7.6.4 下載JSP WebShell的TXT檔案到本地 480
7.6.5 尋找可運行路徑 480
7.6.6 查看JBoss默認部署路徑的檔案和目錄 481
7.6.7 查看管理後台部署檔案 481
7.6.8 複製JSP WebShell到指定目錄 481
7.6.9 成功獲取WebShell 482
7.6.10 管理與維護 482
7.7 遠程控制軟體Radmin提權研究 482
7.7.1 獲取遠程計算機的MD5 Hash值 483
7.7.2 使用Radmin-Hash版本進行登錄 483
7.7.3 進行登錄驗證嘗試 483
7.7.4 查看遠程螢幕和傳輸檔案 484
7.7.5 獲取密碼或者進行區域網路滲透 484
7.7.6 破解密碼 485
7.7.7 登錄遠程桌面 485
7.7.8 防範對策 485
7.8 Gene6 FTP Server本地提權 486
7.8.1 通過網際網路獲取漏洞的利用信息 487
7.8.2 修改user配置參數獲取本地伺服器許可權 487
7.8.3 漏洞修復和加固方法 489
第8章 Windows及Linux安全防範 490
8.1 網站掛馬的檢測與清除 490
8.1.1 檢測網頁木馬程式 491
8.1.2 清除網站中的惡意代碼(掛馬代碼) 495
8.2 巧用MBSA檢查和加固個人計算機 496
8.2.1 實驗準備和環境 496
8.2.2 使用MBSA檢測和加固系統 497
8.2.3 總結與體會 501
8.3 使用“冰刀”進行安全檢查 501
8.3.1 檢查進程 502
8.3.2 查看連線埠 503
8.3.3 刪除檔案 503
8.4 手工清除病毒 504
8.4.1 故障現象 504
8.4.2 清除部分病毒 504
8.4.3 繼續修復系統 509
8.4.4 小結 511
8.5 計算機網路入侵安全檢查研究 511
8.5.1 網路入侵的途徑 511
8.5.2 被入侵後的保護措施 512
8.5.3 安全檢查方法 513
8.5.4 小結 515
8.6 電子郵件社會工程學攻擊防範研究 515
8.6.1 社會工程學 516
8.6.2 常見的電子郵件社會工程學攻擊方法 516
8.6.3 電子郵件社會工程學的攻擊步驟 517
8.6.4 電子郵件社會工程學攻擊的防範方法 518
8.6.5 小結 519
8.7 SQL注入攻擊技術及其防範研究 519
8.7.1 SQL注入技術的定義 519
8.7.2 SQL注入攻擊的特點 519
8.7.3 SQL注入攻擊的實現原理和過程 520
8.7.4 SQL注入攻擊的檢測與防範方法 521
8.7.5 SQL注入攻擊的防範模型 522
8.8 Windows系統克隆用戶攻擊與防範 524
8.8.1 克隆賬號的原理與危害 524
8.8.2 克隆用戶的常用方法 525
8.8.3 克隆用戶的安全檢查與防範 529
8.8.4 小結 534
8.9 作業系統密碼安全設定 534
8.9.1 系統密碼安全隱患與現狀 534
8.9.2 系統密碼安全設定策略 536
8.9.3 密碼設定技巧 537
8.9.4 系統密碼安全檢查與防護 538
8.9.5 系統用戶登錄日誌檢測 538
8.10 使用chkrootkit和rkhunter檢查Linux後門 539
8.10.1 使用chkrootkit檢查Linux後門 540
8.10.2 使用rkhunter檢查Linux後門 541
8.11 Windows下PHP+MySQL+IIS的安全配置 542
8.11.1 NTFS許可權的簡單介紹 542
8.11.2 NTFS詳解之磁碟配額 544
8.11.3 NTFS詳解之Windows許可權 546
8.11.4 變態Windows許可權配置 548
8.12 Windows下PHP+MySQL+IIS
安全平台的高級配置 550
8.12.1 php.ini檔案 550
8.12.2 php.ini參數的安全設定 551
8.12.3 IIS指定目錄運行或者不運行PHP 552
8.12.4 身份驗證高級配置 554
8.12.5 設定伺服器只支持PHP腳本 555
8.12.6 Web目錄的變態許可權配置 556
8.13 Linux作業系統root賬號密碼獲取防範技術研究 556
8.13.1 Linux密碼原理 557
8.13.2 Linux系統採用的加密算法 558
8.13.3 獲取Linux root密碼方法研究 559
8.13.4 Linux root賬號密碼防範技術 561
8.13.5 小結 562
精彩節摘
序1
我和小兵相識多年。他起初作為《黑客防線》的讀者,而後作為《黑客防線》的作者,在十幾年的時間裡,雖經歷過工作變動,其間還有幾年去讀研究生,但始終沒有脫離和《黑客防線》技術團隊的關係。多年來,他的興趣和主要鑽研的技術領域一直都在網路安全方面,特別是Web安全領域。對於一個既無學科傳承,又無技術體系的全新領域,一頭扎進去就是十幾年,這在近乎雜亂和浮躁的網路技術行業實屬少見。這是他的興趣,更重要的是,他似乎感覺到,在網路時代,網路安全始終是一個無法迴避的重大問題,是一個需要正面積極應對的問題,此中他感受到除了興趣以外的一種責任,這可能是我們能成為知音且一直保持聯繫的原因所在。
起初,我們這些專注於系統底層和協定底層技術的人,對於Web層面的安全技術並不是那么看重,但是,隨著Web2.0技術的廣泛套用,網路大架構普遍與Web伺服器直接或者間接互連互通,其現實變為Web伺服器不僅可以到達外網資料庫,也可以到達區域網路,甚至可以到達骨幹網節點——當今世界,完全封閉運行的區域網路已經非常少見,這使我們逐漸認識到,Web攻擊和滲透非常有效,因此,Web安全防範技術顯得非常重要。這也正是小兵一直堅持探索的價值所在。
其實,網路安全面臨的形勢遠比我們所知嚴峻得多。儘管斯諾登已經披露了很多,幾乎等於一場網路安全普及教育;儘管我們已經親歷震網、火焰這樣攻擊代碼的分析,幾乎等於一堂技術提高課——但是,我們的危機感仍遠遠不夠。大到國家重要數據,中到重要商業數據,小到個人隱私數據,只要這些數據存在於數字設備中,只要這些數字設備存在於網路中,就等於開通了無數個獲取核心數據的通道。能否做到有效防範,其根本毋庸置疑,就是技術的比拼,其原理就是我為《黑客防線》確定的核心理念:在攻與防的對立統一中尋求技術突破。小兵及他所帶領的團隊正是在這個理念下一直堅持探索,取得了不少技術成果,這是我的欣慰,也是中國網路安全的幸事。當初,小兵作為我的“小夥伴”走上了這條路,後來,他又帶領不同階段的小團隊,一直在Web安全技術上不停探索,更是網路安全技術領域珍貴的後備力量。
“路漫漫其修遠兮”,願小兵及他的後續團隊能夠一路走下去。還是當年那句話:我們的技術剛剛起步。
孫彬
《黑客防線》總編輯
序2
這本書是我非常推薦的一本Web滲透書籍。這些年來,小兵一直潛心沉澱,在我眼裡,他是一線的實戰派!這本書的第1版面世時,我就第一時間拿到手,當時很是驚訝——作為一線人員的他將多年的積累寫成了書。現在的第2版更是讓人刮目相看。所以,當他說希望我能為這本書寫序的時候,我非常爽快地答應下來,希望能向大家傳達一些特別的見解。
小兵分享的Web滲透經驗是一種主動滲透思路,這和Web客戶端的被動滲透思路很不一樣。雖然在我看來這兩種思路都很重要,但在真實的滲透過程中,主動滲透思路卻是主角。希望大家能用心吸收本書的經驗,並在實戰中發散自己的思路——如果未來的某一天有機會碰面聊天,我們可以一起碰撞出更多新的火花。
我和小兵是老朋友了,每次坐下來聊天時,都會碰撞出滲透的火花,這一點讓我很是受用。在黑客滲透領域,Web滲透是一個極其重要的分支。從這本書中可以看出,小兵最擅長的是Web服務端滲透,包括從拿下Web服務到進入伺服器、進入區域網路的許多滲透思路,這個過程中還融入了社會工程學的經典套用,這些經驗非常值得借鑑。但是,這本書沒有提到Web客戶端(或稱“Web前端”)的滲透,最近全球範圍內大量報導的“水坑”攻擊,其實就是一種Web客戶端的攻擊思路,其中一個典型套用就是XSS攻擊。在我看來,XSS、CSRF等Web客戶端技術在真實的滲透中也是非常有效的,例如大家熟知的“XSS盲打技術”。Web客戶端的滲透其實是一種被動滲透的思路,往往需要精心準備攻擊頁面(經常攜帶惡意JavaScript代碼),然後通過精準的社工手法或“盲打”技術將這個攻擊頁面發給目標用戶,等待目標用戶主動或被動訪問這個攻擊頁面,只要目標用戶的瀏覽器請求訪問這個攻擊頁面,就可以觸發這個頁面攜帶的惡意JavaScript代碼。這段代碼不可小覷,很可能讓我們墜入“大水坑”,導致Web賬號甚至機器(PC或手機)被控制等許多意想不到的結果。
最後,由衷欽佩小兵的敬業精神與分享精神,一起加油!
餘弦
《Web前端黑客技術揭秘》作者
序3
其實我和小兵認識的時間不算太長,記得是在他寫這本書的第1版時,通過好朋友兼前同事“鳥哥”認識的。我對小兵的第一印象是——實在,肯深入鑽研各種安全滲透技術,交流的都是“乾貨”,所以很願意和他交流分享,互相學習進步。現在,這本書的第2版又讓我受益匪淺。
當前,信息安全很火,Web安全更火,各行業、各公司都很重視Web安全,對這方面的人才需求很大,所以,這方面的書也很多,有講原理的,有說框架的,有介紹工具的,也有講實際操作的,但很少能像這本書一樣,由淺入深,全面而深入地介紹和分析當前的滲透技術和手段,著重介紹實際操作、經驗和技巧——還有一些是獨門絕技。
在小兵寫這本書的過程中,我們有一些交流,感覺他對這本書非常認真、仔細,書里的每個工具、案例、技巧都必須在測試環境裡測試通過,不確定的堅決不用。我想,這也許是這本書成為一本高質量Web安全書籍的重要原因吧!
期待小兵及其團隊寫出更多更好的安全書籍,和大家一起分享你們的寶貴經驗。
序4
計算機安全的涉及範圍非常廣,Web安全是其中之一,滲透測試技術也是Web安全領域非常熱門的技術之一。相比傳統的軟體安全,Web安全入門的門檻要低很多,而且相對更容易讓我們體驗滲透測試帶來的樂趣。對滲透測試的技術能力來說,最大的價值不是使用的工具,而是實戰經驗。在滲透測試中,思路和經驗往往比工具、0day更重要,這本書就分享了大量的實戰經驗,大家可以好好吸收。
我在甲方做安全業務將近5年,期間也寫過4本安全技術書籍,對安全行業的認識達到了一定的程度。對企業來說,一個合適的安全技術人才非常難以招募。我們通常會開出很高的薪酬待遇,但仍然很難招到我們需要的人才。產品和業務的安全對企業來說至關重要,一個很小的漏洞就可造成無法預估的重大影響。以微博業務為例,任何一個有影響力的“大V”賬戶被盜所導致的不良言論,就可能導致公司股價的波動,而“大V”賬戶被盜的可能性眾多,我們需要防護的點也非常多。安全體系遵循木桶原理,即使其他方面做得再好,只要某個細小的方面出現問題,就會導致整個安全體系的崩潰。
小兵是我很要好的朋友,他一直在滲透測試領域保持著較高的技術水平。很高興看到小兵這本書出版第2版。相比第1版,第2版增加了大量實戰案例,圖文並茂,讀者可以根據這些實例不斷加深自己的理解,豐富自己的滲透測試經驗。
總之,這是一本充滿實戰經驗的Web安全相關書籍,對於剛剛接觸滲透測試技術的朋友來說,通篇沒有多餘的理論鋪墊,就像書名強調的那樣——注重實戰,相信讀完一定收穫頗多。
羅詩堯
新浪微博安全團隊負責人
序5
隨著網際網路的飛速發展和Web技術的日新月異,特別是Web2.0的普及和發展,Web套用的功能越來越強大,而與之相關的網路安全問題也讓人目不暇接:CSDN用戶信息泄露、天涯論壇數據泄露、小米數據泄露、Gmail數據泄露……呈愈演愈烈之勢。Web安全已經逐漸成為當今網路安全最熱門的領域之一,在近年舉國上下重點關注安全之際,本書的面世為我們帶來了新的“技術食糧”——向陳小兵同志致敬!
我和摯友小兵從認識到現在已有8年之久,今日他的傑作第2版即將出版,我心中充滿喜悅之情,這既是眾多網友的期待,也使我們信息安全網路學院學員們的呼聲又一次得到滿足。小兵為人厚道,做事認真,在國內信息安全圈子中享有盛名,但他為我的助理和網路學員們解答問題時又是那么和藹可親,堪稱“技術大牛型笑臉哥”,此書一出,學員們估計又要托我來買簽名書了。小兵歷盡心血更新的第2版融入了大量滲透思路和實戰經驗,並將書中重要的實驗放到我主持研發的“紅黑演義雲端攻防平台”上供大家實踐,更體現了他對讀者的厚愛!
小兵在Web安全領域研究和工作多年,積累了豐富的理論和實戰經驗,這本書正是這些寶貴經驗的結晶。系統性和科學性是本書的第一大特點,本書內容既涵蓋了Web滲透技術和安全防禦的重要基礎知識,也體現了Web安全防禦方面的最新流行技術。重視實踐是本書的第二大特點,書中展現了多個典型的攻防情景,再現了Web滲透的實際過程,讓讀者有身臨其境之感,配合實戰和實驗講解,能夠保證讀者技術能力的切實提高。由淺入深、循序漸進是本書的第三大特點,本書既給有經驗的讀者提供了精進技術的指導,也非常適合初學者快速掌握。
通過寫序這個機會,也想告訴大家,讀書不僅僅要學其中的知識,更重要的是透析作者的思路,靈活運用其中的各種技巧,梳理知識點,最終達到能夠“講書”的程度。
張勝生
工信部資深安全顧問
信息安全應急演練關鍵技術研究中心主任
東方宏宇國際諮詢服務(北京)有限公司總經理
前言
經過近3年時間的堅持和奮鬥,終於將本書第2版完成。本書在第1版的基礎上增加了大量內容,從Web滲透的專業角度系統探討網路安全攻防技術,儘可能貼近實戰,以幫助讀者掌握本書的技術要點,再現Web滲透場景。
本書主要討論Web滲透攻防技術。攻擊與防護是辯證統一的關係,掌握了攻擊技術,也就掌握了防護技術。Web滲透是網路安全攻防的熱門技術,攻擊者可以通過滲透Web伺服器,利用已有信息,逐漸深入公司或者大型網路,最終完成滲透。
近幾年網路安全的相關話題特別火爆,可以說,從事網路安全是比較有“錢”途的職業之一。目前,各大安全公司都非常缺人,特別是在CSDN、天涯、小米、Gmail、開心網、人人網等大型網站用戶資料庫泄露事件發生後,各大公司對安全人才求賢若渴——網站核心數據不安全,就失去了立足之本。掌握網路安全攻防技術、擁有豐富經驗的從業人員年薪一般在20萬元以上,能夠獨立挖掘漏洞的從業人員年薪一般在30萬元以上。其實,Web安全滲透技術也不是那么高不可攀,只要鎖定方向,持之以恆,不斷進行試驗和研究,終將成為一名高手。而且,安全攻防技術與學歷無關,很多技術高手都沒有上過大學。
Web滲透攻防技術可以通過以下方法自學:一是通過安全站點漏洞更新通告和安全文章了解漏洞的形成原理和利用過程,掌握漏洞的核心原理;二是在本地搭建試驗環境進行實際測試,掌握漏洞的利用方法;三是在網際網路上對存在漏洞的站點進行實際操作,在真實環境下進行驗證,提出修補漏洞的方法。在研究技術的同時要做好記錄,總結失敗和成功的原因,積累技巧和經驗。筆者曾經見過一位牛人,收集了超過20GB的Web漏洞數據!
本書內容
本書以Web滲透攻擊與防禦為主線,通過典型的滲透實例介紹Web滲透和防禦技術,在每一節中,除了技術原理,還對這些技術進行總結和提煉。掌握和理解這些技術後,讀者在遇到類似的滲透場景時可以自己進行滲透。本書採用最為通俗易懂的圖文解說方式,按照書中的步驟即可還原攻防情景。通過閱讀本書,初學者可以很快掌握Web攻防的流程及最新的技術和方法,有經驗的讀者可以在技術上更上一層樓,使攻防技術從理論和實踐中更加系統化,同時,可以使用本書介紹的一些防禦方法加固伺服器系統。
本書共分8章,由淺入深,依照Web攻防的技術特點安排內容,每一節都是一個具體Web攻防技術的典型套用,同時,結合案例給予講解,並給出一些經典的總結。本書主要內容安排如下。
第1 章 Web 滲透必備技術
介紹Web滲透的基礎知識,在Windows XP和Windows 7中創建及使用VPN,域名查詢技術,常用DOS基本命令,CX連線埠轉發實現區域網路突破,遠程終端的安裝與使用,Windows下PHP+MySQL+IIS安全試驗平台的搭建,一句話後門的利用及操作,MySQL資料庫導入與導出攻略,以及SQL Server 2005還原資料庫攻略等。這些技術可以在Web滲透中使用,也可以在網路管理中使用。
第2 章 實戰中常見的加密與解密
在Web滲透中經常會碰到數據被加密的情況,尤其是用戶的密碼,各個系統採用的密碼加密算法不一樣,如明文、MD5、SHA1、Base64等。如果不了解常見的Web加密和解密方法,那么後續滲透工作將無法進行。本章主要介紹Web滲透過程中各種密碼的破解及解密,獲取和破解Windows及Linux作業系統密碼的方法,以及絕大部分套用軟體加密密碼的獲取和破解等。通過本章的學習,讀者對後續滲透碰到的密碼破解任務可以舉一反三,觸類旁通。
第3 章 Web 漏洞掃描
Web滲透技術的核心就是發現Web漏洞,我們可以通過掃描器進行漏洞掃描。本章主要介紹Jsky、Acunetix Web Vulnerability Scanner、Safe3等掃描工具,還對Windows作業系統、MSSQL、MySQL、FTP、路由器等的口令掃描和利用進行了介紹。
第4 章 常見檔案上傳漏洞及利用
上傳是Web滲透中最容易獲得WebShell的途徑之一。本章介紹了如何利用WebEditor、FCKeditor、CuteEditor等典型編輯器漏洞獲取WebShell的方法,同時還對登錄繞過後通過Flash上傳、檔案上傳等方法獲取WebShell進行了探討。
第5 章 SQL 注入漏洞及其利用
SQL注入是Web滲透的核心技術。本章主要介紹如何使用SQL注入方法獲取WebShell,穿插介紹了如何使用多種掃描軟體、攻擊工具滲透Web伺服器並提權。
第6 章 高級滲透技術
本章介紹如何充分利用多種技術組合,結合巧妙的思路,最終成功滲透一些高難度的Web伺服器,同時還對一些不常見的高級漏洞的利用進行了探討。
第7 章 Windows 和Linux 提權技術
本章主要通過一些實例討論如何進行Windows提權。這些提權方法比較經典,掌握這些提權方法後,對其他提權方法也可以觸類旁通。Web滲透的終極目標就是獲取伺服器許可權,也即在獲取Webshell許可權後,利用現有信息和資源,通過各種途徑,讓Webshell許可權提升到作業系統許可權。Windows提權的方法很多,本書僅介紹一些常見的提權方法,包括MSSQL和MySQL資料庫提權、Serv-U提權、Winmail提權、Pr提權、JBoss提權。提權的核心思想就是通過應用程式或者作業系統漏洞,使普通用戶獲得system許可權。
第8 章 Windows 及Linux 安全防範
本章就一些常見的漏洞和弱點進行分析,拋磚引玉。真正的安全防範是一個持續的改進和完善過程,需要隨時關注0day及安全漏洞。在網路攻防的整個過程中,安全防範非常重要,攻擊方需要隱藏自己的IP位址,消除痕跡,防止被發現,而防守方則關注如何加固,使自己的系統更加安全。可以說,牢不可破是終極目標。在武俠小說中經常提及一個理念:最好的防禦就是攻擊。通過攻擊自身系統發現漏洞,對漏洞進行分析、修補和加固,也就有了日常聽到的安全公司進行某項目的安全評估。
雖然本書的內容已經比較豐富和完整,但仍無法涵蓋所有的Web滲透技術。通過本書的學習,希望讀者可以快速了解和掌握Web滲透技術,加固自己的伺服器。本書的目的是通過Web滲透技術,結合一些案例探討網路安全,從而更好地加固Web伺服器,遠離黑客的威脅。