教育>高职高专>计算机类
Web安全漏洞及代码审计(微课版)

Web安全漏洞及代码审计(微课版)"

作者:郭锡泉,陈香锡
ISBN:9787121418488
定价:¥49.8
字数:434千字
页数:240
出版时间:2021-08
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

代码审计是企业安全从业人员必需的基本技能。在企业安全操作、渗透测试、漏洞研究等各项工作中,都需要进行代码审计。本书围绕代码审计前的准备工作、PHP代码审计中的流程和常见漏洞审计、漏洞的审计方法等环节精心组织内容,通过应用案例,让读者深刻体会代码审计的重要作用。本书内容分为3部分。第1部分介绍代码审计前的准备工作,包括第1章“环境配置”和第2章“工具使用”;第2部分介绍PHP代码审计中的流程和常见漏洞审计,包括第3章“审计流程”;第3部分介绍漏洞的审计方法,包括第4章“SQL注入漏洞审计”、第5章“跨站脚本攻击漏洞审计”、第6章“跨站请求伪造漏洞审计”、第7章“服务端请求伪造漏洞审计”、第8章“XML外部实体注入漏洞审计”、第9章“代码执行漏洞审计”、第10章“命令执行漏洞审计”、第11章“反序列化漏洞审计”、第12章“任意文件上传漏洞审计”、第13章“文件包含漏洞审计”、第14章“文件操作类漏洞审计”、第15章“其他类型漏洞审计”和第16章“框架漏洞审计”。本书配有微课视频、源代码、电子课件、教案等教学资源,读者可以登录华信教育资源网(www.hxedu.com.cn)注册后免费进行下载。本书既可以作为高等院校、高等职业院校“网络与信息安全”课程的教材,也可以作为相关从业人员的参考书。

前言

前言 代码审计是企业安全从业人员必需的基本技能。在企业安全操作、渗透测试、漏洞研究等各项工作中,都需要进行代码审计。目前,许多公司都在推广Microsoft的SDL(安全开发生命周期,即需求分析→设计→编码→测试→发布→维护)。“安全”一词贯穿了整个软件开发的生命周期,特别是 SDL的核心阶段——设计、编码和测试。其中,在安全设计过程中,开发人员必须对漏洞形成的原理进行深入了解,并从整体上看待安全问题;在代码实现过程(编码阶段)中,安全性取决于开发人员的技术基础和早期的安全性设计;在测试过程中,测试人员需要重点关注白盒测试、黑盒测试和灰盒测试。黑盒测试也被称为功能测试,是指在不接触代码的情况下测试系统功能是否存在错误及是否满足设计要求的测试。白盒测试就是我们所说的代码审计,即以开放的形式从代码级别中查找错误。如果发现错误,则需要修复软件中的错误,直到没有错误,才能发布软件。 对于渗透测试人员来说,掌握代码审计非常重要,这是因为渗透测试人员经常需要在渗透过程中调试目标环境的有效负载。另外,如果攻击者通过扫描程序扫描了Web目录中的源代码备份程序包,则他通常会使用源代码包查找一些配置文件,其原因是这些配置文件中存在数据库、API等关键信息。如果目标环境中存在限制,如目标站点数据库限制了IP地址连接,则攻击者对源代码包的漏洞利用就会结束。对于了解代码审计的人来说,他们可以对源代码包进行安全审计,从而发现网站代码中的漏洞,并利用发现的漏洞进行渗透。 本书围绕代码审计前的准备工作、PHP代码审计中的流程和常见漏洞审计、漏洞的审计方法等环节精心组织内容,通过应用案例,让读者深刻体会代码审计的重要作用。本书内容分为3部分。 第1部分介绍代码审计前的准备工作,包括第1章“环境配置”和第2章“工具使用”:第1章主要介绍PHP的相关知识和环境的搭建,这些内容是学习代码审计前必须了解的;第2章主要介绍PHP代码审计过程中需要准备的工具,以及这些工具的使用方法。 第2部分介绍PHP代码审计中的流程和常见漏洞审计,包括第3章“审计流程”。 第3部分介绍漏洞的审计方法,包括第4章“SQL注入漏洞审计”、第5章“跨站脚本攻击漏洞审计”、第6章“跨站请求伪造漏洞审计”、第7章“服务端请求伪造漏洞审计”、第8章“XML外部实体注入漏洞审计”、第9章“代码执行漏洞审计”、第10章“命令执行漏洞审计”、第11章“反序列化漏洞审计”、第12章“任意文件上传漏洞审计”、第13章“文件包含漏洞审计”、第14章“文件操作类漏洞审计”、第15章“其他类型漏洞审计”和第16章“框架漏洞审计”。其中,第15章主要介绍审计逻辑漏洞的挖掘方法,因为逻辑漏洞比常规漏洞更复杂,所以本书单独组织章节内容,并以实战演练的方式对其进行介绍。第16章主要介绍PHP中常用框架的漏洞审计,本书从攻击者的角度分析常见功能中通常会出现的安全问题,并在分析出这些安全问题的利用方式后,给出解决方案。 读者在学习了代码审计的方法后,可以进一步学习代码审计的技巧,从而利用这些技巧挖掘更有趣的漏洞。在本书第3部分的每章中,分别介绍了一种常见的漏洞,并对每种漏洞都给出了一个真实的漏洞案例分析过程,以便读者积累代码审计的经验。除了介绍漏洞挖掘的方法,本书还详细介绍了这些漏洞的修复方法,这些内容对开发人员非常有用。 代码审计是一项灵活性非常高的工作,建议读者不要拘泥于“必须这样做”的固定模式,而要多练习、多尝试,找到适合自己的做法,从而充分享受代码审计的乐趣。 本书由清远职业技术学院的郭锡泉、陈香锡担任主编。 由于作者水平和时间所限,书中难免存在疏漏和不妥之处,恳请各界专家和读者朋友不吝赐教、批评指正。

目录

第1部分 第1章 环境配置 1 1.1 知识准备 1 1.1.1 代码编辑工具 1 1.1.2 WAMP/WNMP环境搭建 3 1.1.3 LAMP环境搭建 4 1.1.4 PHP核心配置 4 1.2 实战演练——Windows环境部署 8 1.2.1 安装运行 8 1.2.2 目录结构 9 1.2.3 主界面 9 1.2.4 切换版本 10 1.2.5 站点配置 10 1.2.6 修改hosts域名解析文件 11 1.2.7 PHP扩展设置 11 1.2.8 MySQL管理 11 1.2.9 phpMyAdmin 12 1.3 强化训练——Linux环境部署 13 1.3.1 一键安装脚本 13 1.3.2 安装部署 13 1.3.3 相关操作 14 1.3.4 访问面板 14 1.3.5 软件管理 14 1.3.6 数据库 15 1.3.7 部署服务 16 1.4 课后实训 16 第2章 工具使用 17 2.1 知识准备 17 2.1.1 代码编辑工具 17 2.1.2 代码审计工具 19 2.1.3 辅助验证工具 28 2.2 实战演练——Seay源代码审计系统审计DVWA 36 2.2.1 DVWA简介 36 2.2.2 环境搭建 36 2.2.3 使用工具审计 40 2.3 强化训练——RIPS审计DVWA 42 2.3.1 RIPS环境的本地搭建 42 2.3.2 使用工具审计 43 2.4 课后实训 45 第2部分 第3章 审计流程 46 3.1 知识准备 46 3.1.1 寻找漏洞签名 46 3.1.2 功能点定向审计 47 3.1.3 通读全文 47 3.2 实战演练 47 3.2.1 寻找漏洞签名 47 3.2.2 功能点定向审计 49 3.2.3 通读全文 50 3.3 强化训练 52 3.3.1 暴力破解 52 3.3.2 命令注入 57 3.3.3 跨站请求伪造 62 3.3.4 文件包含 68 3.3.5 文件上传 72 3.3.6 SQL注入 76 3.3.7 SQL盲注 85 3.3.8 脆弱会话 92 3.3.9 反射型XSS 96 3.3.10 存储型XSS 99 3.3.11 不安全的验证流程 103 3.4 课后实训 114 第3部分 第4章 SQL注入漏洞审计 115 4.1 知识准备 115 4.1.1 漏洞介绍 115 4.1.2 漏洞危害 115 4.1.3 审计思路 116 4.2 实战演练——SQL注入漏洞 116 4.2.1 普通注入 116 4.2.2 宽字节注入 117 4.2.3 二次注入 119 4.3 强化训练——审计实战 121 4.3.1 环境搭建 121 4.3.2 漏洞分析 122 4.3.3 漏洞利用 124 4.4 课后实训 125 第5章 跨站脚本攻击漏洞审计 126 5.1 知识准备 126 5.1.1 漏洞介绍 126 5.1.2 漏洞危害 127 5.1.3 审计思路 127 5.2 实战演练——跨站脚本攻击漏洞 127 5.2.1 反射型XSS 127 5.2.2 存储型XSS 128 5.2.3 DOM型XSS 128 5.3 强化训练——审计实战 129 5.3.1 环境搭建 129 5.3.2 漏洞分析 131 5.3.3 漏洞利用 132 5.4 课后实训 134 第6章 跨站请求伪造漏洞审计 135 6.1 知识准备 135 6.1.1 漏洞介绍 135 6.1.2 漏洞危害 135 6.1.3 审计思路 136 6.2 实战演练——跨站请求伪造漏洞 136 6.3 强化训练——审计实战 138 6.3.1 环境搭建 138 6.3.2 漏洞分析 140 6.3.3 漏洞利用 140 6.4 课后实训 142 第7章 服务端请求伪造漏洞审计 143 7.1 知识准备 143 7.1.1 漏洞介绍 143 7.1.2 漏洞危害 143 7.1.3 审计思路 144 7.2 实战演练——服务端请求伪造漏洞 144 7.2.1 file_get_contents() 144 7.2.2 fopen() 144 7.2.3 cURL 145 7.3 强化训练——审计实战 146 7.3.1 环境搭建 146 7.3.2 漏洞分析 149 7.3.3 漏洞利用 150 7.4 课后实训 150 第8章 XML外部实体注入漏洞审计 151 8.1 知识准备 151 8.1.1 漏洞介绍 151 8.1.2 基础知识 151 8.1.3 审计思路 152 8.2 实战演练——XML外部实体注入漏洞 153 8.2.1 simplexml_load_string() 153 8.2.2 DOM解析器函数 154 8.2.3 SimpleXMLElement() 154 8.3 强化训练——审计实战 155 8.3.1 环境搭建 155 8.3.2 漏洞分析 157 8.3.3 漏洞利用 159 8.4 课后实训 159 第9章 代码执行漏洞审计 160 9.1 知识准备 160 9.1.1 漏洞介绍 160 9.1.2 漏洞危害 160 9.1.3 审计思路 161 9.2 实战演练——代码执行漏洞 161 9.2.1 eval()和assert() 161 9.2.2 回调函数 161 9.2.3 动态执行函数 163 9.2.4 preg_replace() 163 9.3 强化训练——审计实战 164 9.3.1 环境搭建 164 9.3.2 漏洞分析 166 9.3.3 漏洞利用 167 9.4 课后实训 168 第10章 命令执行漏洞审计 169 10.1 知识准备 169 10.1.1 漏洞介绍 169 10.1.2 漏洞危害 169 10.1.3 审计思路 170 10.2 实战演练——命令执行漏洞 170 10.2.1 system() 170 10.2.2 exec() 170 10.2.3 反引号`和shell_exec() 171 10.2.4 popen()和proc_open() 171 10.3 强化训练——审计实战 172 10.3.1 环境搭建 172 10.3.2 漏洞分析 175 10.3.3 漏洞利用 175 10.4 课后实训 177 第11章 反序列化漏洞审计 178 11.1 知识准备 178 11.1.1 漏洞介绍 178 11.1.2 基础知识 178 11.1.3 审计思路 179 11.2 实战演练——反序列化漏洞 180 11.2.1 serialize() 180 11.2.2 unserialize() 180 11.3 强化训练——审计实战 181 11.3.1 环境搭建 181 11.3.2 漏洞分析 182 11.3.3 构造PoC 184 11.3.4 漏洞利用 186 11.4 课后实训 188 第12章 任意文件上传漏洞审计 189 12.1 知识准备 189 12.1.1 漏洞介绍 189 12.1.2 漏洞危害 189 12.1.3 审计思路 189 12.2 实战演练——任意文件上传漏洞 190 12.3 强化训练——审计实战 191 12.3.1 环境搭建 191 12.3.2 漏洞分析 193 12.3.3 漏洞利用 194 12.4 课后实训 195 第13章 文件包含漏洞审计 196 13.1 知识准备 196 13.1.1 漏洞介绍 196 13.1.2 漏洞危害 196 13.1.3 审计思路 197 13.1.4 漏洞利用 197 13.2 实战演练——文件包含漏洞 197 13.2.1 本地文件包含 198 13.2.2 远程文件包含 198 13.3 强化训练——审计实战 199 13.3.1 环境搭建 199 13.3.2 漏洞分析 200 13.3.3 漏洞利用 201 13.4 课后实训 202 第14章 文件操作类漏洞审计 203 14.1 知识准备 203 14.1.1 漏洞介绍 203 14.1.2 目录穿越漏洞介绍 203 14.1.3 审计思路 204 14.2 实战演练——任意文件读取/修改漏洞 204 14.2.1 漏洞分析 204 14.2.2 漏洞利用 204 14.3 强化训练——任意文件删除漏洞 206 14.3.1 漏洞分析 206 14.3.2 漏洞利用 207 14.4 课后实训 208 第15章 其他类型漏洞审计 209 15.1 知识准备 209 15.1.1 系统重装漏洞 209 15.1.2 越权漏洞 210 15.2 实战演练——系统重装漏洞 210 15.2.1 环境搭建 210 15.2.2 漏洞分析 212 15.2.3 漏洞利用 213 15.3 强化训练——越权漏洞 215 15.3.1 环境搭建 215 15.3.2 漏洞分析 217 15.3.3 漏洞利用 218 15.4 课后实训 220 第16章 框架漏洞审计 221 16.1 知识准备 221 16.1.1 框架理解 221 16.1.2 MVC架构模式 221 16.1.3 常见框架介绍 222 16.2 实战演练——框架使用 222 16.3 强化训练——ThinkPHP远程代码执行漏洞 224 16.3.1 漏洞影响 224 16.3.2 漏洞分析 224 16.3.3 漏洞利用 227 16.4 课后实训 228

作者简介

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0418480

www.luweidong.cn

下一个