描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787121255816
编辑推荐
内容简介
本书总结了当前流行的高危漏洞的形成原因、攻击手段及解决方案,并通过大量的示例代码复现漏洞原型,制作模拟环境,更好地帮助读者深入了解Web 应用程序中存在的漏洞,防患于未然。
本书从攻到防,从原理到实战,由浅入深、循序渐进地介绍了Web 安全体系。全书分4 篇共16 章,除介绍Web 安全的基础知识外,还介绍了Web 应用程序中常见的安全漏洞、开源程序的攻击流程与防御,并着重分析了“拖库”事件时黑客所使用的攻击手段。此外,还介绍了渗透测试工程师其他的一些检测方式。
目 录
第1篇 基础篇
第1章 Web安全简介 2
1.1 服务器是如何被入侵的 2
1.2 如何更好地学习Web安全 4
第2章 深入HTTP请求流程 6
2.1 HTTP协议解析 6
2.1.1 发起HTTP请求 6
2.1.2 HTTP协议详解 7
2.1.3 模拟HTTP请求 13
2.1.4 HTTP协议与HTTPS协议的区别 14
2.2 截取HTTP请求 15
2.2.1 Burp Suite Proxy 初体验 15
2.2.2 Fiddler 19
2.2.3 WinSock Expert 24
2.3 HTTP应用:黑帽SEO之搜索引擎劫持 24
2.4 小结 25
第3章 信息探测 26
3.1 Google Hack 26
3.1.1 搜集子域名 26
3.1.2 搜集Web信息 27
3.2 Nmap初体验 29
3.2.1 安装Nmap 29
3.2.2 探测主机信息 30
3.2.3 Nmap脚本引擎 32
3.3 DirBuster 33
3.4 指纹识别 35
3.5 小结 38
第4章 漏洞扫描 39
4.1 Burp Suite 39
4.1.1 Target 39
4.1.2 Spider 40
4.1.3 Scanner 42
4.1.4 Intruder 43
4.1.5 辅助模块 46
4.2 AWVS 49
4.2.1 WVS向导扫描 50
4.2.2 Web扫描服务 52
4.2.3 WVS小工具 53
4.3 AppScan 54
4.3.1 使用AppScan扫描 55
4.3.2 处理结果 58
4.3.3 AppScan辅助工具 58
4.4 小结 61
第2篇 原理篇
第5章 SQL注入漏洞 64
5.1 SQL注入原理 64
5.2 注入漏洞分类 66
5.2.1 数字型注入 66
5.2.2 字符型注入 67
5.2.3 SQL注入分类 68
5.3 常见数据库注入69
5.3.1 SQL Server 69
5.3.2 MySQL 75
5.3.3 Oracle 84
5.4 注入工具 89
5.4.1 SQLMap 89
5.4.2 Pangolin 95
5.4.3 Havij 98
5.5 防止SQL注入 99
5.5.1 严格的数据类型 100
5.5.2 特殊字符转义 101
5.5.3 使用预编译语句 102
5.5.4 框架技术 103
5.5.5 存储过程 104
5.6 小结 105
第6章 上传漏洞 106
6.1 解析漏洞 106
6.1.1 IIS解析漏洞 106
6.1.2 Apache解析漏洞 109
6.1.3 PHP CGI解析漏洞 110
6.2 绕过上传漏洞 110
6.2.1 客户端检测 112
6.2.2 服务器端检测 115
6.3 文本编辑器上传漏洞 123
6.4 修复上传漏洞 127
6.5 小结 128
第7章 XSS跨站脚本漏洞 129
7.1 XSS原理解析 129
7.2 XSS类型 130
7.2.1 反射型XSS 130
7.2.2 存储型XSS 131
7.2.3 DOM XSS 132
7.3 检测XSS 133
7.3.1 手工检测XSS 134
7.3.2 全自动检测XSS 134
7.4 XSS高级利用 134
7.4.1 XSS会话劫持 135
7.4.2 XSS Framework 141
7.4.3 XSS GetShell 144
7.4.3 XSS蠕虫 149
7.5 修复XSS跨站漏洞 151
7.5.1 输入与输出 151
7.5.2 HttpOnly 158
7.6 小结 160
第8章 命令执行漏洞 161
8.1 OS命令执行漏洞示例 161
8.2 命令执行模型 162
8.2.1 PHP命令执行 163
8.2.2 Java命令执行 165
8.3 框架执行漏洞 166
8.3.1 Struts2代码执行漏洞 166
8.3.2 ThinkPHP命令执行漏洞 169
8.3 防范命令执行漏洞 169
第9章 文件包含漏洞 171
9.1 包含漏洞原理解析 171
9.1.1 PHP包含 171
9.1.2 JSP包含 180
9.2 安全编写包含 184
9.3 小结 184
第10章 其他漏洞 185
10.1 CSRF 185
10.1.1 CSRF攻击原理 185
10.1.2 CSRF攻击场景(GET) 186
10.1.3 CSRF攻击场景(POST) 188
10.1.4 浏览器Cookie机制 190
10.1.5 检测CSRF漏洞 193
10.1.6 预防跨站请求伪造 197
10.2 逻辑错误漏洞 199
10.2.1 挖掘逻辑漏洞 199
10.2.2 绕过授权验证 200
10.2.3 密码找回逻辑漏洞 204
10.2.4 支付逻辑漏洞 205
10.2.5 指定账户恶意攻击 209
10.3 代码注入 210
10.3.1 XML注入 211
10.3.2 XPath注入 212
10.3.3 JSON注入 215
10.3.4 HTTP Parameter Pollution 216
10.4 URL跳转与钓鱼 218
10.4.1 URL跳转 218
10.4.2 钓鱼 220
10.5 WebServer远程部署 224
10.5.1 Tomcat 224
10.5.2 JBoss 226
10.5.3 WebLogic 229
10.6 小结 233
第3篇 实战篇
第11章 实战入侵与防范 236
11.1 开源程序安全剖析 236
11.1.1 0day攻击 236
11.1.2 网站后台安全 238
11.1.3 MD5还安全吗 243
11.2 拖库 248
11.2.1 支持外连接 248
11.2.2 不支持外连接 253
11.3 小结 262
第4篇 综合篇
第12章 暴力破解测试 264
12.1 C/S架构破解 265
12.2 B/S架构破解 272
12.3 暴力破解案例 275
12.4 防止暴力破解 277
12.5 小结 278
第13章 旁注攻击 279
13.1 服务器端Web架构 279
13.2 IP逆向查询 280
13.3 SQL跨库查询 282
13.4 目录越权 283
13.5 构造注入点 284
13.6 CDN 286
13.7 小结 288
第14章 提权 290
14.1 溢出提权 290
14.2 第三方组件提权 294
14.2.1 信息搜集 294
14.2.2 数据库提权 296
14.2.3 FTP提权 302
14.2.4 PcAnywhere提权 312
14.3 虚拟主机提权 314
14.4 提权辅助 315
14.4.1 3389端口 315
14.4.2 端口转发 318
14.4.3 启动项提权 320
14.4.4 DLL劫持 321
14.4.5 添加后门 322
14.5 服务器防提权措施 324
14.6 小结 325
第15章 ARP欺骗攻击 326
15.1 ARP协议简介 326
15.1.1 ARP缓存表 326
15.1.2 局域网主机通信 327
15.1.3 ARP欺骗原理 328
15.2 ARP攻击 329
15.2.1 Cain 329
15.2.2 Ettercap 332
15.2.3 NetFuke 336
15.3 防御ARP攻击 339
15.4 小结 340
第16章 社会工程学 341
16.1 信息搜集 341
16.2 沟通 343
16.3 伪造 344
16.4 小结 345
严正声明 346
第1章 Web安全简介 2
1.1 服务器是如何被入侵的 2
1.2 如何更好地学习Web安全 4
第2章 深入HTTP请求流程 6
2.1 HTTP协议解析 6
2.1.1 发起HTTP请求 6
2.1.2 HTTP协议详解 7
2.1.3 模拟HTTP请求 13
2.1.4 HTTP协议与HTTPS协议的区别 14
2.2 截取HTTP请求 15
2.2.1 Burp Suite Proxy 初体验 15
2.2.2 Fiddler 19
2.2.3 WinSock Expert 24
2.3 HTTP应用:黑帽SEO之搜索引擎劫持 24
2.4 小结 25
第3章 信息探测 26
3.1 Google Hack 26
3.1.1 搜集子域名 26
3.1.2 搜集Web信息 27
3.2 Nmap初体验 29
3.2.1 安装Nmap 29
3.2.2 探测主机信息 30
3.2.3 Nmap脚本引擎 32
3.3 DirBuster 33
3.4 指纹识别 35
3.5 小结 38
第4章 漏洞扫描 39
4.1 Burp Suite 39
4.1.1 Target 39
4.1.2 Spider 40
4.1.3 Scanner 42
4.1.4 Intruder 43
4.1.5 辅助模块 46
4.2 AWVS 49
4.2.1 WVS向导扫描 50
4.2.2 Web扫描服务 52
4.2.3 WVS小工具 53
4.3 AppScan 54
4.3.1 使用AppScan扫描 55
4.3.2 处理结果 58
4.3.3 AppScan辅助工具 58
4.4 小结 61
第2篇 原理篇
第5章 SQL注入漏洞 64
5.1 SQL注入原理 64
5.2 注入漏洞分类 66
5.2.1 数字型注入 66
5.2.2 字符型注入 67
5.2.3 SQL注入分类 68
5.3 常见数据库注入69
5.3.1 SQL Server 69
5.3.2 MySQL 75
5.3.3 Oracle 84
5.4 注入工具 89
5.4.1 SQLMap 89
5.4.2 Pangolin 95
5.4.3 Havij 98
5.5 防止SQL注入 99
5.5.1 严格的数据类型 100
5.5.2 特殊字符转义 101
5.5.3 使用预编译语句 102
5.5.4 框架技术 103
5.5.5 存储过程 104
5.6 小结 105
第6章 上传漏洞 106
6.1 解析漏洞 106
6.1.1 IIS解析漏洞 106
6.1.2 Apache解析漏洞 109
6.1.3 PHP CGI解析漏洞 110
6.2 绕过上传漏洞 110
6.2.1 客户端检测 112
6.2.2 服务器端检测 115
6.3 文本编辑器上传漏洞 123
6.4 修复上传漏洞 127
6.5 小结 128
第7章 XSS跨站脚本漏洞 129
7.1 XSS原理解析 129
7.2 XSS类型 130
7.2.1 反射型XSS 130
7.2.2 存储型XSS 131
7.2.3 DOM XSS 132
7.3 检测XSS 133
7.3.1 手工检测XSS 134
7.3.2 全自动检测XSS 134
7.4 XSS高级利用 134
7.4.1 XSS会话劫持 135
7.4.2 XSS Framework 141
7.4.3 XSS GetShell 144
7.4.3 XSS蠕虫 149
7.5 修复XSS跨站漏洞 151
7.5.1 输入与输出 151
7.5.2 HttpOnly 158
7.6 小结 160
第8章 命令执行漏洞 161
8.1 OS命令执行漏洞示例 161
8.2 命令执行模型 162
8.2.1 PHP命令执行 163
8.2.2 Java命令执行 165
8.3 框架执行漏洞 166
8.3.1 Struts2代码执行漏洞 166
8.3.2 ThinkPHP命令执行漏洞 169
8.3 防范命令执行漏洞 169
第9章 文件包含漏洞 171
9.1 包含漏洞原理解析 171
9.1.1 PHP包含 171
9.1.2 JSP包含 180
9.2 安全编写包含 184
9.3 小结 184
第10章 其他漏洞 185
10.1 CSRF 185
10.1.1 CSRF攻击原理 185
10.1.2 CSRF攻击场景(GET) 186
10.1.3 CSRF攻击场景(POST) 188
10.1.4 浏览器Cookie机制 190
10.1.5 检测CSRF漏洞 193
10.1.6 预防跨站请求伪造 197
10.2 逻辑错误漏洞 199
10.2.1 挖掘逻辑漏洞 199
10.2.2 绕过授权验证 200
10.2.3 密码找回逻辑漏洞 204
10.2.4 支付逻辑漏洞 205
10.2.5 指定账户恶意攻击 209
10.3 代码注入 210
10.3.1 XML注入 211
10.3.2 XPath注入 212
10.3.3 JSON注入 215
10.3.4 HTTP Parameter Pollution 216
10.4 URL跳转与钓鱼 218
10.4.1 URL跳转 218
10.4.2 钓鱼 220
10.5 WebServer远程部署 224
10.5.1 Tomcat 224
10.5.2 JBoss 226
10.5.3 WebLogic 229
10.6 小结 233
第3篇 实战篇
第11章 实战入侵与防范 236
11.1 开源程序安全剖析 236
11.1.1 0day攻击 236
11.1.2 网站后台安全 238
11.1.3 MD5还安全吗 243
11.2 拖库 248
11.2.1 支持外连接 248
11.2.2 不支持外连接 253
11.3 小结 262
第4篇 综合篇
第12章 暴力破解测试 264
12.1 C/S架构破解 265
12.2 B/S架构破解 272
12.3 暴力破解案例 275
12.4 防止暴力破解 277
12.5 小结 278
第13章 旁注攻击 279
13.1 服务器端Web架构 279
13.2 IP逆向查询 280
13.3 SQL跨库查询 282
13.4 目录越权 283
13.5 构造注入点 284
13.6 CDN 286
13.7 小结 288
第14章 提权 290
14.1 溢出提权 290
14.2 第三方组件提权 294
14.2.1 信息搜集 294
14.2.2 数据库提权 296
14.2.3 FTP提权 302
14.2.4 PcAnywhere提权 312
14.3 虚拟主机提权 314
14.4 提权辅助 315
14.4.1 3389端口 315
14.4.2 端口转发 318
14.4.3 启动项提权 320
14.4.4 DLL劫持 321
14.4.5 添加后门 322
14.5 服务器防提权措施 324
14.6 小结 325
第15章 ARP欺骗攻击 326
15.1 ARP协议简介 326
15.1.1 ARP缓存表 326
15.1.2 局域网主机通信 327
15.1.3 ARP欺骗原理 328
15.2 ARP攻击 329
15.2.1 Cain 329
15.2.2 Ettercap 332
15.2.3 NetFuke 336
15.3 防御ARP攻击 339
15.4 小结 340
第16章 社会工程学 341
16.1 信息搜集 341
16.2 沟通 343
16.3 伪造 344
16.4 小结 345
严正声明 346
前 言
前 言
本书总结了当前流行的高危漏洞的形成原因、攻击手段及解决方案,并通过大量的示例代码复现漏洞原型,制作模拟环境,更好地帮助读者深入了解Web应用程序中存在的漏洞,防患于未然。
本书抛开一些研究性、纯理论性的内容,也就是外表看似很高端,但实用性不大的课题,所总结的漏洞可以说是刀刀见血、剑剑穿心,直接危害到企业安全的漏洞。
本书也是笔者多年来工作的总结,几乎每个场景都是常见的,如果你从事Web渗透测试相关的工作,就会遇到本书中的场景。
本书结构
本书从攻到防,从原理到实战,由浅入深、循序渐进地介绍了Web安全体系。全书分4篇共16章,这是一个庞大的体系,几乎可以囊括目前常见的一切Web安全类技术。
本书目录结构就非常像渗透测试人员的一次检测流程,从信息探测到漏洞扫描、漏洞利用、提权等。
基础篇
第1章到第4章为基础篇,是整个Web安全中基础的技术。
第1章描述了服务器是如何被黑客入侵的,并从中引出Web安全的概念,同时也告诉读者如何更快、更好地学习Web安全。
第2章详细讲述了Web安全的一个核心知识点:HTTP协议。如果是零基础的读者,建议一定要多看HTTP协议,因为后续章节中的多内容都会涉及HTTP协议。
第3章介绍了信息探测的知识点。渗透测试人员工作时,一般都是从信息探测入手的,也就是常说的踩点。信息探测是渗透测试的基本功,是必须学习的内容。本章介绍了Google Hack、Nmap、DirBuster、指纹识别等技术。
第4章讲解了渗透测试人员常用的安全测试工具,包括:BurpSuite、AWVS、APPSCAN等工具。
原理篇
第5章到第10章为原理篇,阅读本篇内容需要读者具备一定的代码功底。在这些章节中讲述了Web应用程序中常见的安全漏洞。笔者将这些常见的高危漏洞提取出来,每个漏洞作为单独的一个章节来讲解,从原理到利用。
第5章是SQL注入章节,讨论了MySQL、SQL Server、Oracle数据库的注入方式、注入技巧和不同数据库的注入差异。
攻击者对数据库注入的目的有:数据窃取、文件读写、命令执行,掌握了其核心思想后,对SQL注入的学习就比较容易。
在讲解SQL注入原理后,介绍了SQLMap、Havij等注入工具,同时也介绍了绕过部分WAF的思路。
第6章介绍了XSS攻击,其中讲解了XSS的形成原理、三种XSS类型、会话劫持、蠕虫等前端技术,后提出了XSS有效的解决方案。
第7章讲解了上传漏洞和Web容器的漏洞。有时候程序是没有问题的,但如果与Web容器漏洞相结合可,能就会造成上传漏洞。
第8章描述了命令执行漏洞的形成原因和利用方式,同时也介绍了Struts2命令执行漏洞及命令执行漏洞的修复方案。
第9章讲解了PHP包含漏洞的原理和利用方式,同时也介绍了包含漏洞的修复方案。
第10章讨论的知识点比较广泛,比如CSRF、逻辑漏洞、远程部署漏洞、代码注入等高危漏洞。
实战篇
第11章讲述了开源程序的攻击流程与防御,并着重分析了“拖库”事件时黑客所使用的攻击手段。
综合篇
如果仅仅掌握Web安全漏洞,而对其他漏洞、攻击手法一窍不通,是无法全面找出漏洞的,在综合篇里介绍了渗透测试工程师其他的一些检测方式。
第12章详细讲述了暴力破解的测试方式,分别使用Hydra、Burp Suite、Medusa等工具对MSSQL、MySQL、Web应用程序进行破解,后讲述了验证码的安全性及防止暴力破解的解决方案。
第13章讲述了旁注攻击,当目标Web应用程序无法寻找到漏洞时,攻击者常常会使用旁注攻击来入侵目标。本章剖析了旁注攻击的几个关键点,包括IP逆向查询、SQL跨库查询、绕过CDN等技术。
第14章讲述了提权。服务器提权可以更好地解释服务器的脆弱性,本章对Linux、Windows提权均做了分析。比如Windows下的三种提权方式:本地溢出提权、第三方组件提权和系统关键点利用。另外,也剖析了一部分提权时的采用手段,比如DLL劫持、端口转发、服务器添加后门等技术。
第15章讲述了ARP攻击与防御。安全是一个整体,并不是Web应用程序找不到漏洞时,黑客就没办法了,黑客使用ARP欺骗技术可以轻松劫持到你的密码。本章从ARP协议开始讲解,接着深入讲解ARP欺骗的原理,其中介绍了Cain、Ettercap、NetFuke等嗅探工具。
第16章讲述了社会工程学。社会工程学可以说是APT攻击中的关键一环,也被称为没有“技术”却比“技术”更强大的渗透方式。
需要的工具
本书的核心是从原理到实战案例的剖析,很多时候,工具只是作为辅助使用。读者请注意一点:在实际的渗透中,更多地靠经验、思路,工具反而是其次,不要被众多的“神器”所迷惑,工具仅仅是让我们更方便、高效一些,工具是“死”的,目前的软件开发水平还完全达不到智能化,工具只能按照程序员的思维流程来执行。所以,我们完全依赖的还是自己的大脑。
本书所使用的工具可以在http://www.secbug.org/tools/index.html中下载。
本书是写给谁的
本书适合渗透测试人员、Web开发人员、安全咨询顾问、测试人员、架构师、项目经理、设计等人员阅读,也可以作为对Web安全、渗透测试有兴趣的学生的教材,这是一本实用的Web安全教材。
渗透测试人员:渗透测试岗位是要求的技术在大学并没有课程设置并没有,也没有正规、专业的技术培训。可以说,做渗透测试的人员都要靠自学,付出比其他人更多的努力才能胜任这个工作。笔者希望读者从本书中学习到知识,进一步提高自己的渗透测试水平。
Web开发人员:程序员不一定是黑客,但是有一定水平的黑客、白帽子一定是程序员。因此,一个合格的程序员学习安全知识是非常快的。本书介绍了大量的示例代码,并分析其中的漏洞,从开发人员的角度讲述如何避免和修复漏洞,希望开发人员能够通过本书的学习提高自己防御安全的水平,站在新的高度去看待程序。
信息安全相关专业的学生:本书也适合信息安全等相关专业的学生阅读,书中所有的知识点几乎都是从零开始的,你们可以循序渐进地学习。同时,笔者也希望能给大学老师带来一些灵感,然后培育出更多的网络安全人才。
在学习时,笔者常把原理性的知识比喻为内功,而具体的实操、技术点比喻为招式,只有招式而没有内功是根本无法变成高手的,而有了内功和招式才可能成为高手。
安全是把双刃剑,剑在手中,至于是用其来做好事还是做坏事,只在于一念之差。笔者强烈要求各位读者仅在法律的许可范围内使用本书所提供的信息。
致谢
感谢EvilShad0w团队的每一位成员,你仍在一起交流技术、讨论心得时从来都是无私地分享,你们都有一颗对技术狂热的心,在我眼里,你们都是技术帝。
感谢破晓团队的每一位成员,感谢你们相信我,愿意跟我一起闯,你们的存在是支撑我继续下去的力量。
感谢联合实验室的成员,是你们在百忙之中细细品味这本书,并指出不足之处。
感谢袁海君、杜萌萌、LiuKer、7z1、天蓝蓝、小K、小歪、岩少、晴天小铸、GBM的支持,有你们的支持,我才能完成这本书的写作,也感谢你们对这本书做出的贡献,我将谨记于心。这里要特别感谢小杜,你为我审阅稿子,找出书中的许多错误。
感谢红黑联盟站长一剑西来、天云祥科技有限公司CEO杨奎,你们给了我许多机会,也教会了我如何去思考。
感谢我的领导沈局、邬江、邓小刚,你们对待我就像对待自己的学生一样,教导了我许多。
后,感谢我的父母,感谢你们将我抚育成人,为我付出一切。这份爱时刻提醒着我,要努力、要上进!
路虽然,行则必达。事虽难,做则必成。
破晓-SecBug.Org
本书总结了当前流行的高危漏洞的形成原因、攻击手段及解决方案,并通过大量的示例代码复现漏洞原型,制作模拟环境,更好地帮助读者深入了解Web应用程序中存在的漏洞,防患于未然。
本书抛开一些研究性、纯理论性的内容,也就是外表看似很高端,但实用性不大的课题,所总结的漏洞可以说是刀刀见血、剑剑穿心,直接危害到企业安全的漏洞。
本书也是笔者多年来工作的总结,几乎每个场景都是常见的,如果你从事Web渗透测试相关的工作,就会遇到本书中的场景。
本书结构
本书从攻到防,从原理到实战,由浅入深、循序渐进地介绍了Web安全体系。全书分4篇共16章,这是一个庞大的体系,几乎可以囊括目前常见的一切Web安全类技术。
本书目录结构就非常像渗透测试人员的一次检测流程,从信息探测到漏洞扫描、漏洞利用、提权等。
基础篇
第1章到第4章为基础篇,是整个Web安全中基础的技术。
第1章描述了服务器是如何被黑客入侵的,并从中引出Web安全的概念,同时也告诉读者如何更快、更好地学习Web安全。
第2章详细讲述了Web安全的一个核心知识点:HTTP协议。如果是零基础的读者,建议一定要多看HTTP协议,因为后续章节中的多内容都会涉及HTTP协议。
第3章介绍了信息探测的知识点。渗透测试人员工作时,一般都是从信息探测入手的,也就是常说的踩点。信息探测是渗透测试的基本功,是必须学习的内容。本章介绍了Google Hack、Nmap、DirBuster、指纹识别等技术。
第4章讲解了渗透测试人员常用的安全测试工具,包括:BurpSuite、AWVS、APPSCAN等工具。
原理篇
第5章到第10章为原理篇,阅读本篇内容需要读者具备一定的代码功底。在这些章节中讲述了Web应用程序中常见的安全漏洞。笔者将这些常见的高危漏洞提取出来,每个漏洞作为单独的一个章节来讲解,从原理到利用。
第5章是SQL注入章节,讨论了MySQL、SQL Server、Oracle数据库的注入方式、注入技巧和不同数据库的注入差异。
攻击者对数据库注入的目的有:数据窃取、文件读写、命令执行,掌握了其核心思想后,对SQL注入的学习就比较容易。
在讲解SQL注入原理后,介绍了SQLMap、Havij等注入工具,同时也介绍了绕过部分WAF的思路。
第6章介绍了XSS攻击,其中讲解了XSS的形成原理、三种XSS类型、会话劫持、蠕虫等前端技术,后提出了XSS有效的解决方案。
第7章讲解了上传漏洞和Web容器的漏洞。有时候程序是没有问题的,但如果与Web容器漏洞相结合可,能就会造成上传漏洞。
第8章描述了命令执行漏洞的形成原因和利用方式,同时也介绍了Struts2命令执行漏洞及命令执行漏洞的修复方案。
第9章讲解了PHP包含漏洞的原理和利用方式,同时也介绍了包含漏洞的修复方案。
第10章讨论的知识点比较广泛,比如CSRF、逻辑漏洞、远程部署漏洞、代码注入等高危漏洞。
实战篇
第11章讲述了开源程序的攻击流程与防御,并着重分析了“拖库”事件时黑客所使用的攻击手段。
综合篇
如果仅仅掌握Web安全漏洞,而对其他漏洞、攻击手法一窍不通,是无法全面找出漏洞的,在综合篇里介绍了渗透测试工程师其他的一些检测方式。
第12章详细讲述了暴力破解的测试方式,分别使用Hydra、Burp Suite、Medusa等工具对MSSQL、MySQL、Web应用程序进行破解,后讲述了验证码的安全性及防止暴力破解的解决方案。
第13章讲述了旁注攻击,当目标Web应用程序无法寻找到漏洞时,攻击者常常会使用旁注攻击来入侵目标。本章剖析了旁注攻击的几个关键点,包括IP逆向查询、SQL跨库查询、绕过CDN等技术。
第14章讲述了提权。服务器提权可以更好地解释服务器的脆弱性,本章对Linux、Windows提权均做了分析。比如Windows下的三种提权方式:本地溢出提权、第三方组件提权和系统关键点利用。另外,也剖析了一部分提权时的采用手段,比如DLL劫持、端口转发、服务器添加后门等技术。
第15章讲述了ARP攻击与防御。安全是一个整体,并不是Web应用程序找不到漏洞时,黑客就没办法了,黑客使用ARP欺骗技术可以轻松劫持到你的密码。本章从ARP协议开始讲解,接着深入讲解ARP欺骗的原理,其中介绍了Cain、Ettercap、NetFuke等嗅探工具。
第16章讲述了社会工程学。社会工程学可以说是APT攻击中的关键一环,也被称为没有“技术”却比“技术”更强大的渗透方式。
需要的工具
本书的核心是从原理到实战案例的剖析,很多时候,工具只是作为辅助使用。读者请注意一点:在实际的渗透中,更多地靠经验、思路,工具反而是其次,不要被众多的“神器”所迷惑,工具仅仅是让我们更方便、高效一些,工具是“死”的,目前的软件开发水平还完全达不到智能化,工具只能按照程序员的思维流程来执行。所以,我们完全依赖的还是自己的大脑。
本书所使用的工具可以在http://www.secbug.org/tools/index.html中下载。
本书是写给谁的
本书适合渗透测试人员、Web开发人员、安全咨询顾问、测试人员、架构师、项目经理、设计等人员阅读,也可以作为对Web安全、渗透测试有兴趣的学生的教材,这是一本实用的Web安全教材。
渗透测试人员:渗透测试岗位是要求的技术在大学并没有课程设置并没有,也没有正规、专业的技术培训。可以说,做渗透测试的人员都要靠自学,付出比其他人更多的努力才能胜任这个工作。笔者希望读者从本书中学习到知识,进一步提高自己的渗透测试水平。
Web开发人员:程序员不一定是黑客,但是有一定水平的黑客、白帽子一定是程序员。因此,一个合格的程序员学习安全知识是非常快的。本书介绍了大量的示例代码,并分析其中的漏洞,从开发人员的角度讲述如何避免和修复漏洞,希望开发人员能够通过本书的学习提高自己防御安全的水平,站在新的高度去看待程序。
信息安全相关专业的学生:本书也适合信息安全等相关专业的学生阅读,书中所有的知识点几乎都是从零开始的,你们可以循序渐进地学习。同时,笔者也希望能给大学老师带来一些灵感,然后培育出更多的网络安全人才。
在学习时,笔者常把原理性的知识比喻为内功,而具体的实操、技术点比喻为招式,只有招式而没有内功是根本无法变成高手的,而有了内功和招式才可能成为高手。
安全是把双刃剑,剑在手中,至于是用其来做好事还是做坏事,只在于一念之差。笔者强烈要求各位读者仅在法律的许可范围内使用本书所提供的信息。
致谢
感谢EvilShad0w团队的每一位成员,你仍在一起交流技术、讨论心得时从来都是无私地分享,你们都有一颗对技术狂热的心,在我眼里,你们都是技术帝。
感谢破晓团队的每一位成员,感谢你们相信我,愿意跟我一起闯,你们的存在是支撑我继续下去的力量。
感谢联合实验室的成员,是你们在百忙之中细细品味这本书,并指出不足之处。
感谢袁海君、杜萌萌、LiuKer、7z1、天蓝蓝、小K、小歪、岩少、晴天小铸、GBM的支持,有你们的支持,我才能完成这本书的写作,也感谢你们对这本书做出的贡献,我将谨记于心。这里要特别感谢小杜,你为我审阅稿子,找出书中的许多错误。
感谢红黑联盟站长一剑西来、天云祥科技有限公司CEO杨奎,你们给了我许多机会,也教会了我如何去思考。
感谢我的领导沈局、邬江、邓小刚,你们对待我就像对待自己的学生一样,教导了我许多。
后,感谢我的父母,感谢你们将我抚育成人,为我付出一切。这份爱时刻提醒着我,要努力、要上进!
路虽然,行则必达。事虽难,做则必成。
破晓-SecBug.Org
媒体评论
纵观国内网络安全方面的书籍,大多数都是只介绍结果,从未更多地考虑过程。而本书恰恰是从实用角度出发,本着务实的精神,先讲原理,再讲过程,后讲结果,是每个从事信息安全的从业人员不可多得的一本实用大全。尤其是一些在企业从事信息安全的工作人员,可以很好地依据书中的实际案例进行学习,同时,在校学生也可以依据本书的案例进行深入学习,有效地贴近企业,更好地有的放矢。
——陈亮 OWASP 中国北京主负责人
我有幸见证了《Web 安全深度剖析》诞生的全过程,作者认真严谨的写作风格,深入求证的研究态度,深厚的程序员功底,丰富的网络和现场教育培训经验,使本书成为适合Web 渗透测试的必选作品。本书内容丰富,知识点全面,适合网络安全爱好者和从业者学习研究。
——一剑西来 红黑联盟站长, 暗影团队管理员
我收到《Web 安全深度剖析》样章后,一口气通读下来,感觉酣畅淋漓。作者用深入浅出的手法,贴近实战,基本涵盖了Web 安全技术中实际遇到的方方面面。本书适合Web 安全从业人员研读,也推荐有志在Web 安全方向发展的人学习。
——lake2 腾讯安全平台部副总监
与其说这是一本Web 安全的书籍,不如说是一本渗透实战教程,该书总结了不少常见的Web 渗透思路和奇技淫巧,非常适合初学者和有一些基础的人阅读。安全圈有一句老话:未知攻,焉知防。这本书可以帮助大家找到学习安全知识的兴趣,也可以找到学习安全知识的方法。
——林伟(网名:陆羽)
360 网络攻防实验室负责人,国内知名安全社区T00ls.net 创始人之一
——陈亮 OWASP 中国北京主负责人
我有幸见证了《Web 安全深度剖析》诞生的全过程,作者认真严谨的写作风格,深入求证的研究态度,深厚的程序员功底,丰富的网络和现场教育培训经验,使本书成为适合Web 渗透测试的必选作品。本书内容丰富,知识点全面,适合网络安全爱好者和从业者学习研究。
——一剑西来 红黑联盟站长, 暗影团队管理员
我收到《Web 安全深度剖析》样章后,一口气通读下来,感觉酣畅淋漓。作者用深入浅出的手法,贴近实战,基本涵盖了Web 安全技术中实际遇到的方方面面。本书适合Web 安全从业人员研读,也推荐有志在Web 安全方向发展的人学习。
——lake2 腾讯安全平台部副总监
与其说这是一本Web 安全的书籍,不如说是一本渗透实战教程,该书总结了不少常见的Web 渗透思路和奇技淫巧,非常适合初学者和有一些基础的人阅读。安全圈有一句老话:未知攻,焉知防。这本书可以帮助大家找到学习安全知识的兴趣,也可以找到学习安全知识的方法。
——林伟(网名:陆羽)
360 网络攻防实验室负责人,国内知名安全社区T00ls.net 创始人之一
评论
还没有评论。