本书作为Web安全知识普及与技术推广教材,不仅能够为初学Web安全的学生提供全面、实用的理论和技术基础,而且可以有效培养学生进行Web安全防御的能力。本书以OWASP Top 10为基础,重点介绍了SQL注入漏洞、XSS漏洞、CSRF漏洞、SSRF漏洞、文件下载漏洞、文件包含漏洞、文件上传漏洞、暴力破解漏洞、命令执行漏洞、不安全的验证码漏洞、反序列化漏洞与XXE漏洞12种常见的Web漏洞。全书共有7个项目,包括Web安全初探、Web协议与分析、Web漏洞检测工具、Web漏洞实验平台、Web常见漏洞分析(一)、Web常见漏洞分析(二)、Web常见漏洞分析(三),通过漏洞实验平台,分析Web漏洞原理,辅以漏洞利用方法的相关实验,让学生了解如何发现常见的Web漏洞,并进行相应的防御。本书可以作为高等职业院校与高等专科学校计算机、信息安全及其他相关专业学生的教材,也可以作为网络安全管理员、网络工程技术人员的参考用书。
陈云志,男,硕士研究生,浙江杭州人。杭州职业技术学院信息工程学院院长,主要讲授计算机网络技术、信息安全方向课程。承担浙江省十三五优势专业—信息安全与管理专业建设,《路由与交换》国家级精品课程主讲教师、“十二五”国家规划教材《路由与交换》副主编,承担厅级课题3项,发表论文6篇,其中EI收录1篇。
项目一 Web安全初探 1
1.1 Web安全现状与发展趋势 1
1.1.1 Web安全现状 1
1.1.2 Web安全发展趋势 6
1.2 Web系统介绍 7
1.2.1 Web的发展历程 7
1.2.2 Web系统的构成 8
1.2.3 Web系统的应用架构 9
1.2.4 Web的访问方法 10
1.2.5 Web编程语言 11
1.2.6 Web数据库访问技术 12
1.2.7 Web服务器 13
实例1 十大Web安全漏洞比较分析 15
项目二 Web协议与分析 16
2.1 HTTP 16
2.1.1 HTTP的通信过程 17
2.1.2 统一资源定位符 17
2.1.3 HTTP的连接方式和无状态性 18
2.1.4 HTTP的请求报文 18
2.1.5 HTTP的响应报文 22
2.1.6 HTTP的报文报头类型汇总 24
2.1.7 HTTP的会话管理 24
2.2 HTTPS 26
2.2.1 HTTPS和HTTP的主要区别 26
2.2.2 HTTPS与Web服务器的通信过程 27
2.2.3 HTTPS的优点 27
2.2.4 HTTPS的缺点 28
2.3 网络嗅探工具 28
2.3.1 Wireshark简介 28
2.3.2 Wireshark的界面 29
实例1 Wireshark的应用实例 38
实例1.1 捕捉数据包 38
实例1.2 处理捕捉后的数据包 42
项目三 Web漏洞检测工具 48
3.1 Web漏洞检测工具AppScan 48
3.1.1 AppScan简介 48
3.1.2 AppScan的安装 49
3.1.3 AppScan的基本工作流程 53
3.1.4 AppScan的界面 56
3.2 HTTP分析工具WebScarab 59
3.3 网络漏洞检测工具Nmap 62
3.3.1 Nmap简介 62
3.3.2 Nmap的安装 63
3.4 集成化的漏洞扫描工具Nessus 66
3.4.1 Nessus简介 66
3.4.2 Nessus的安装 66
实例1 AppScan扫描实例 69
实例2 WebScarab的运行 83
实例3 Nmap应用实例 90
实例3.1 利用Nmap的图形界面进行扫描 90
实例3.2 利用Nmap命令行界面进行扫描探测 103
实例4 利用Nessus扫描Web应用 111
项目四 Web漏洞实验平台 117
4.1 DVWA简介 117
4.2 WebGoat简介 118
4.3 Pikachu简介 119
实例1 DVWA的安装与配置 119
实例2 WebGoat的安装与配置 128
实例3 Pikachu的安装与配置 133
项目五 Web常见漏洞分析(一) 136
5.1 SQL注入漏洞 136
5.2 XSS漏洞 141
实例1 SQL注入漏洞实例 145
实例1.1 手动注入(初级) 145
实例1.2 使用工具注入 149
实例1.3 手动注入(中级) 151
实例1.4 手动注入(高级) 155
实例1.5 SQL注入漏洞的防御 157
实例1.6 布尔盲注 157
实例1.7 时间盲注 161
实例1.8 SQL盲注漏洞的防御 163
实例2 XSS漏洞实例 165
实例2.1 反射型XSS漏洞(1) 165
实例2.2 反射型XSS漏洞(2) 167
实例2.3 反射型XSS漏洞(3) 168
实例2.4 反射型XSS漏洞的防御 168
实例2.5 存储型XSS漏洞(1) 169
实例2.6 存储型XSS漏洞(2) 170
实例2.7 存储型XSS漏洞(3) 172
实例2.8 存储型XSS漏洞的防御 173
实例2.9 DOM型XSS漏洞(1) 174
实例2.10 DOM型XSS漏洞(2) 175
实例2.11 DOM型XSS漏洞(3) 176
实例2.12 DOM型XSS漏洞的防御 177
项目六 Web常见漏洞分析(二) 178
6.1 CSRF漏洞 178
6.2 SSRF漏洞 180
6.3 文件下载漏洞 182
6.4 文件包含漏洞 183
6.5 文件上传漏洞 187
实例1 CSRF漏洞实例 187
实例1.1 CSRF漏洞(1) 187
实例1.2 CSRF漏洞(2) 189
实例1.3 CSRF漏洞(3) 190
实例1.4 CSRF漏洞的防御 192
实例2 SSRF漏洞实例 193
实例2.1 SSRF漏洞(1) 193
实例2.2 SSRF漏洞(2) 196
实例3 文件下载漏洞实例 198
实例4 文件包含漏洞实例 199
实例4.1 文件包含漏洞(1) 199
实例4.2 文件包含漏洞(2) 202
实例4.3 文件包含漏洞(3) 203
实例4.4 文件包含漏洞的防御 204
实例5 文件上传漏洞实例 204
实例5.1 文件上传漏洞(1) 204
实例5.2 文件上传漏洞(2) 206
实例5.3 文件上传漏洞(3) 210
实例5.4 文件上传漏洞的防御 213
项目七 Web常见漏洞分析(三) 215
7.1 暴力破解漏洞 215
7.2 命令执行漏洞 216
7.3 不安全的验证码漏洞 217
7.4 反序列化漏洞 219
7.5 XXE漏洞 221
实例1 暴力破解漏洞实例 222
实例1.1 暴力破解漏洞(1) 222
实例1.2 暴力破解漏洞(2) 227
实例1.3 暴力破解漏洞(3) 228
实例1.4 暴力破解漏洞的防御 234
实例2 命令执行漏洞实例 236
实例2.1 命令执行漏洞(1) 236
实例2.2 命令执行漏洞(2) 241
实例2.3 命令执行漏洞(3) 244
实例2.4 命令执行漏洞的防御 249
实例3 不安全的验证码漏洞实例 251
实例3.1 不安全的验证码漏洞(1) 251
实例3.2 不安全的验证码漏洞(2) 254
实例3.3 不安全的验证码漏洞(3) 256
实例3.4 不安全的验证码漏洞的防御 258
实例4 反序列化漏洞实例 259
实例5 XXE漏洞实例 262