《安全之路——Web渗透技术及实战案例解析(第2版)》是2015年9月电子工业出版社出版的图书,作者是陈小兵。
本书是《Web渗透技术及实战案例解析》的第2版,与第1版相比,不仅增加了对“心脏出血”等近年来新出现的漏洞的分析,还对目前常见的Web漏洞、SQL注入漏洞、档案上传漏洞、Windows和Linux提权等攻击方式进行了剖析,以帮助读者更好地认识Web渗透的危害,採取更合理、更有效的防範措施。
基本介绍
- 书名:安全之路——Web渗透技术及实战案例解析(第2版)
- 作者:陈小兵
- ISBN:ISBN 978-7-121-26774-1
- 页数:584
- 定价:99.00
- 出版社:电子工业出版社
- 出版时间:2015年9月出版
- 装帧:平装
- 开本:16开
内容简介
随着网际网路的发展和网路套用的普及,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伺服器,远离黑客的威胁。