第1章 漏洞溢出入侵 1
1.1 何为溢出型漏洞 1
1.1.1 缓冲区溢出漏洞利用历史 1
1.1.2 溢出原理和本地溢出 2
1.1.3 远程溢出 6
1.1.4 溢出的高级利用 8
1.2 栈溢出漏洞的利用 9
1.2.1 覆盖中断地址 9
1.2.2 利用中断的覆盖 11
1.2.3 通用地址覆盖 11
1.2.4 覆盖异常 13
1.2.5 覆盖异常的另一种利用方法 14
1.3 堆溢出漏洞 16
1.3.1 堆溢出概念 16
1.3.2 堆溢出实例 16
1.4 溢出漏洞小结及防范 19
1.4.1 非执行的缓冲区 20
1.4.2 编写安全正确的代码 21
1.4.3 数组边界检查 21
1.4.4 程序指针完整性检查 22
1.4.5 程序指针完整性检查与数组边界检查的比较 24
1.4.6 一些具体的预防措施 24
1.4.7 普通用户防范缓冲区溢出的方法 25
1.5 Windows上的溢出实例 26
1.5.1 Windows本地溢出实例 26
1.5.2 Windows远程溢出实例 28
1.5.3 强大的万能溢出工具MetasploitFramework 2.7 31
第2章 Web攻击 43
2.1 Web欺骗攻击 43
2.1.1 网络钓鱼 43
2.1.2 基于页面的Web欺骗 51
2.1.3 基于程序的Web欺骗 57
2.2 SQL 注入 64
2.2.1 测试环境的搭建 65
2.2.2 一个简单的实例 69
2.2.3 用浏览器直接提交数据 77
2.2.4 注入漏洞的利用 79
2.2.5 注入漏洞的高级利用 84
2.2.6 对Very-Zone SQL注入漏洞的利用 92
2.2.7 对动易商城2006 SQL注入漏洞的利用 97
2.2.8 使用工具进行SQL注入 104
2.2.9 对SQL注入漏洞的防御 110
2.3 跨站脚本攻击 113
2.3.1 跨站的来源 114
2.3.2 简单留言本的跨站漏洞 115
2.3.3 跨站漏洞的利用 118
2.3.4 未雨绸缪——对跨站漏洞预防和防御 128
2.4 Web后门及加密隐藏 129
2.4.1 什么是Web后门 130
2.4.2 Web后门免杀 131
2.4.3 Web后门的隐藏 133
2.5 Web权限提升 139
2.5.1 系统漏洞提权 140
2.5.2 第三方软件权限提权 142
2.5.3 配置不当提升系统权限(陷阱式提权) 149
2.6 Web服务器上的指纹鉴定 157
2.6.1 入侵检测系统(I.D.S) 157
2.6.2 蜜罐技术 186
第3章 网马与木马 192
3.1 网马 192
3.1.1 认识网马 193
3.1.2 木马免杀 197
3.1.3 网马隐藏 201
3.2 木马和后门 202
3.2.1 赤兔马 202
3.2.2 木马免杀 209
3.2.3 黑客的最爱Rootkit 222
第4章 路由器攻击 231
4.1 路由器介绍 231
4.1.1 什么是路由器 231
4.1.2 路由器与集线器、交换机的区别 231
4.1.3 路由器的种类 233
4.2 ADSL家庭路由 234
4.2.1 默认口令入侵 234
4.2.2 通过ADSL路由器入侵内网 238
4.3 入侵 Cisco 路由器 242
4.3.1 Cisco路由器基础 242
4.3.2 SNMP配置缺陷入侵Cisco路由器 249
第5章 无线入侵 258
5.1 无线威胁概述 258
5.1.1 什么是无线威胁 258
5.1.2 无线网络基本知识 260
5.2 无线广播 SSID 262
5.3 Wi-Fi功能漏洞 264
5.4 比较WEP与WPA 265
5.5 无线网络配置实例 269
5.6 LEAP 275
5.7 攻陷WEP 277
第6章 Nessus插件编程 285
6.1 Nessus简介 286
6.2 Nessus体系结构与工作流程 286
6.3 Nessus安装与配置 288
6.3.1 Nessus服务器端下载与安装 288
6.3.2 Nessus服务器端插件升级 293
6.3.3 Nessus服务器端基本配置 296
6.3.4 Nessus客户端下载与安装 298
6.4 用Nessus进行扫描 300
6.4.1 用Nessus服务器端进行扫描 300
6.4.2 用Nessus客户端进行扫描 316
6.4.3 经典扫描案例 321
6.5 Nessus插件与脚本解释器 331
6.6 NASL插件编程入门实例 334
6.6.1 编写第一个NASL插件 334
6.6.2 如何安装插件 336
6.7 Nessus插件开发语言——NASL 338
6.7.1 Hello World示例 338
6.7.2 NASL脚本结构 339
6.7.3 NASL语法 345
6.7.4 NASL重要函数:网络相关函数 349
6.7.5 NASL重要函数:字符串处理函数 358
6.7.6 如何编写一个高效的Nessus安全测试插件 361
6.7.7 脚本优化 362
6.8 NASL插件实例分析 362
6.8.1 检测FTP匿名登录 363
6.8.2 检测是否运行TFTP服务 366
6.9 编写自己的NASL插件 371
6.9.1 检测一个FTP的拒绝服务漏洞(未曾公布过的漏洞) 371
6.9.2 检测TFTP服务器的目录遍历漏洞 376
6.10 NASL脚本的调试 382
6.11 小结 385