CTF(capture the flag)即夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。本书主要面向CTF中Web方向题型的Web安全攻防,介绍了Web安全攻防所需的基础知识及常见的Web漏洞。全书共分为11章。第1章介绍HTML(超文本标记语言)的基本结构及语法知识;第2章介绍CSS(层叠样式表)基本语法、样式表的定义及引用;第3章介绍JavaScript的基本语法知识;第4章介绍PHP(超文本预处理)的基本语法知识;第5章介绍WWW(万维网)的基本概念及HTTP(超文本传输协议)的基本知识;第6章介绍当前网络安全形势、黑客概念、CTF知识及常见Web安全漏洞;第7章介绍信息收集的基本概念及常用工具;第8章介绍SQL注入攻击的原理、分类及防护方法;第9章介绍XSS攻击的原理、分类及防护方法;第10章介绍弱口令的类型及防护方法;第11章介绍文件上传漏洞攻击的原理及防护方法。
本书可作为高等院校各专业网络安全的通识性教材,也可作为计算机类专业、网络安全专业的专业基础课程教材,还可作为对Web安全感兴趣的各类人员的参考书、操作手册和使用指南。
第1章 HTML
1.1 HTML概述和基本结构
1.1.1 什么是HTML
1.1.2 HTML的组成
1.1.3 HTML的基本结构
1.1.4 HTML文档规范
1.1.5 HTML注释
1.2 HTML文档的头部
1.3 HTML文档的主体
1.3.1 标题
1.3.2 段落、换行、字符实体
1.3.3 块、含样式的标签、语义化的标签
1.3.4 图片
1.3.5 链接
1.3.6 列表
1.3.7 表格
1.3.8 表单
第2章 CSS
2.1 CSS基本语法
2.1.1 什么是CSS
2.1.2 CSS语法
2.1.3 CSS的样式表
2.1.4 CSS注释
2.2 CSS选择器
2.2.1 元素选择器
2.2.2 类选择器
2.2.3 id选择器
2.2.4 属性选择器
2.3 CSS文本颜色、字体样式、文本样式
2.3.1 CSS文本颜色
2.3.2 CSS字体样式
2.3.3 CSS文本样式
2.4 CSS边框、背景
2.4.1 CSS边框
2.4.2 CSS背景
2.5 盒子
2.5.1 盒子模型解释
2.5.2 盒子模型设置
2.6 块元素、内联元素、内联块元素
2.6.1 块元素
2.6.2 内联元素
2.6.3 内联块元素
第3章 JavaScript
3.1 JavaScript的应用场景
3.1.1 什么是JavaScript
3.1.2 JavaScript的特点
3.1.3 JavaScript使用方法
3.2 JavaScript的变量
3.2.1 变量定义
3.2.2 命名规则
3.2.3 基本数据类型
3.2.4 类型示例代码
3.3 JavaScript的数据类型转换
3.4 JavaScript的运算符
3.4.1 算术运算符
3.4.2 字符串连接运算符
3.4.3 赋值运算符
3.4.4 比较运算符
3.4.5 逻辑运算符
3.4.6 位运算符
3.4.7 其他运算符
3.5 JavaScript的流程控制
3.5.1 if语句
3.5.2 switch语句
3.6 Javascript的循环
3.6.1 for循环
3.6.2 for-in语句
3.6.3 while循环
3.6.4 do…while循环
3.7 Javascript元素
3.7.1 DOM
3.7.2 JavaScript元素的获取与操作
3.8 JavaScript函数
3.8.1 在函数表达式中定义函数
3.8.2 用function语句定义函数
3.8.3 综合举例
3.9 JavaScript对象
3.9.1 属性和方法
3.9.2 创建对象
3.9.3 this关键字
3.9.4 遍历及测试类型
3.9.5 代码举例
3.10 JavaScript数组
3.10.1 数组的定义
3.10.2 数组的操作
3.10.3 多维数组
第4章 PHP
4.1 PHP简介
4.2 PHP的语法
4.2.1 基本的PHP语法
4.2.2 PHP的注释
4.3 PHP的常量和变量
4.3.1 PHP的常量
4.3.2 PHP的变量
4.4 PHP的数据类型
4.4.1 布尔型
4.4.2 整型
4.4.3 浮点型
4.4.4 字符串型
4.4.5 数组
4.4.6 对象
4.4.7 资源
4.4.8 空值
4.5 PHP的选择语句
4.5.1 if条件控制语句
4.5.2 switch多分支语句
4.6 PHP的循环语句
4.6.1 for循环
4.6.2 while循环
4.7 PHP数组
4.7.1 创建数组
4.7.2 遍历数组
4.7.3 PHP中常用的数组函数
4.8 PHP函数
4.8.1 函数创建
4.8.2 函数调用
4.8.3 函数参数
第5章 HTTP基础
5.1 WWW简介
5.1.1 WWW的概念
5.1.2 简单的网站模型
5.2 HTTP协议解析
5.2.1 HTTP请求
5.2.2 HTTP响应
5.2.3 HTTP的状态码
5.2.4 HTTP请求方法
5.2.5 HTTP请求头
5.2.6 HTTP响应头
5.2.7 发起HTTP请求
5.3 HTTP协议与HTTPS协议的区别
第6章 Web安全基础
6.1 网络安全现状
6.1.1 网络安全问题
6.1.2 认识黑客
6.1.3 CTF简介
6.2 常见的Web安全漏洞
第7章 信息收集
7.1 信息收集概述
7.1.1 信息收集的概念
7.1.2 信息收集的分类
7.1.3 信息收集的内容
7.1.4 常用信息收集搜索引擎
7.2 Nmap工具
7.2.1 Nmap扫描
7.2.2 Nmap的安装
7.2.3 Nmap扫描方式
7.2.4 Nmap输出结果
7.3 Burp Suite工具
7.3.1 Burp Suite简介
7.3.2 Burp Suite的主要组件及功能
7.3.3 Burp Suite的安装
7.3.4 代理设置
7.3.5 Repeater组件
7.3.6 Intruder组件
第8章 SQL注入攻击及防护
8.1 SQL注入简介
8.1.1 SQL注入的原理
8.1.2 SQL注入的判断
8.1.3 SQL注入的危害
8.2 SQL注入的分类
8.2.1 按数据类型分类
8.2.2 按返回结果分类
8.2.3 其他类型
8.3 MySQL注入
8.3.1 MySQL注入函数
8.3.2 MysQL中的注释
8.3.3 information_schema数据库
8.3.4 union联合查询
8.3.5 报错注入
8.3.6 bool注入
8.3.7 sleep注入
8.4 其他常见数据库注