第1 章 扫描器基础1
1.1 什么是Web 扫描器1
1.2 扫描器的重要性2
1.3 扫描器的类型3
1.4 常见的扫描器(扫描器的示例).4
1.5 扫描器评测8
1.6 漏洞测试平台9
1.7 扫描环境部署9
1.7.1 测试环境9
1.7.2 开发环境12
第2 章 Web 爬虫基础.19
2.1 什么是Web 爬虫19
2.2 浏览器手工爬取过程.19
2.3 URL 21
2.4 超级链接.22
2.5 HTTP 协议(Request/Response)23
2.5.1 HTTP 请求23
2.5.2 HTTP 响应24
2.6 HTTP 认证.25
2.6.1 Basic 认证(基本式) 26
2.6.2 Digest 认证(摘要式) 27
2.7 HEAD 方法29
2.8 Cookie 机制29
2.9 DNS 本地缓存.31
2.9.1 浏览器缓存31
2.9.2 系统缓存32
2.10 页面解析33
2.11 爬虫策略34
2.11.1 广度优先策略34
2.11.2 深度优先策略34
2.11.3 最佳优先策略(聚焦爬虫策略)35
2.12 页面跳转35
2.12.1 客户端跳转36
2.12.2 服务端跳转37
2.13 识别404 错误页面38
2.14 URL 重复/URL 相似/URL 包含39
2.14.1 URL 重复39
2.14.2 URL 相似39
2.14.3 URL 包含39
2.15 区分URL 的意义40
2.16 URL 去重.40
2.16.1 布隆过滤器(Bloom Filter) 41
2.16.2 哈希表去重41
2.17 页面相似算法42
2.17.1 编辑距离(Levenshtein Distance) 42
2.17.2 Simhash 43
2.18 断连重试43
2.19 动态链接与静态链接43
第3 章 Web 爬虫进阶.44
3.1 Web 爬虫的工作原理.44
3.2 实现URL 封装45
3.3 实现HTTP 请求和响应47
3.4 实现页面解析.58
3.4.1 HTML 解析库.58
3.4.2 URL 提取59
3.4.3 自动填表66
3.5 URL 去重去似.67
3.5.1 URL 去重67
3.5.2 URL 去似去含73
3.6 实现404 页面识别75
3.7 实现断连重试.77
3.8 实现Web 爬虫78
3.9 实现Web 2.0 爬虫83
第4 章 应用指纹识别94
4.1 应用指纹种类及识别.94
4.2 应用指纹识别的价值.95
4.3 应用指纹识别技术96
第5 章 安全漏洞审计102
5.1 安全漏洞审计三部曲102
5.2 通用型漏洞审计.103
5.2.1 SQL 注入漏洞103
5.2.2 XSS 跨站漏洞111
5.2.3 命令执行注入120
5.2.4 文件包含漏洞129
5.2.5 敏感文件泄露136
5.3 Nday/0day 漏洞审计.146
5.3.1 Discuz!7.2 faq.php SQL 注入漏洞147
5.3.2 Dedecms get webshell 漏洞150
5.3.3 Heartbleed 漏洞(CVE-2014-0160).153
5.3.4 PHP multipart/form-data 远程DDoS(CVE-2015-4024) 157
第6 章 扫描器进阶160
6.1 扫描流程160
6.2 软件设计163
6.3 功能模块164
6.4 软件架构165
6.5 数据结构166
6.6 功能实现167
6.6.1 IP/端口扫描和检测(端口模块) 167
6.6.2 端口破解模块170
6.6.3 子域名信息枚举172
6.6.4 文件、目录暴力枚举探测(不可视URL 爬取) 175
6.6.5 扫描引擎.176
6.7 扫描报告180
6.8 扫描测试182
第7 章 云扫描.185
7.1 什么是云扫描185
7.2 云扫描架构.185
7.3 云扫描实践.187
7.3.1 Celery 框架188
7.3.2 扫描器Worker 部署189
7.3.3 云端调度.193
7.4 云扫描服务.199
第8 章 企业安全扫描实践.202
8.1 企业为什么需要扫描202
8.2 企业扫描的应用场景202
8.2.1 基于网络流量的扫描202
8.2.2 基于访问日志的扫描208
8.2.3 扫描的应用场景比较217
第9 章 关于防御218
9.1 爬虫反制218
9.1.1 基于IP 的反爬虫218
9.1.2 基于爬行的反爬虫.221
9.2 审计反制223
9.2.1 云WAF223
9.2.2 云WAF 的价值223
9.3 防御策略225
附录A227
附录B229
· · · · · · (
收起)