内容简介: Web应用无处不在,安全隐患如影随形。承载着丰富功能与用途的Web应用程序中布满了各种漏洞,攻击者能够利用这些漏洞盗取用户资料,实施诈骗,破坏其他系统等。近年来,一些公司的网络系统频频遭受攻击,导致用户信息泄露,造成不良影响。因此,如何确保Web应用程序的安全,已成为摆在人们眼前亟待解决的问题。 本书是Web安全领域专家的经验结晶,系统阐述了如何针对Web应用程序展开攻击与反攻击,深入剖析了攻击时所使用的技巧、步骤和工具,条理清晰,内容详尽。第2版全面升级,涵盖了最新的攻击技巧与应对措施,此外,书中还列出了几百个“漏洞实验室”,以帮助读者对所学内容进行巩固和实战演习。
黑客攻防技术宝典(第2版):Web实战篇(第2版)
✍ Scribed by [英] Dafydd Stuttard / [英] Marcus Pinto 著; 石华耀 / 傅志红 译
- Publisher
- 人民邮电出版社
- Year
- 2012
- Tongue
- Chinese
- Leaves
- 650
- Series
- 图灵程序设计丛书·网络安全系列
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
书签已装载,
书签制作方法请找 [email protected]
完全免费
(若有印刷不清等问题也请发送相关邮件,会尽快更新的)
内容简介:
Web应用无处不在,安全隐患如影随形。承载着丰富功能与用途的Web应用程序中布满了各种漏洞,攻击者能够利用这些漏洞盗取用户资料,实施诈骗,破坏其他系统等。近年来,一些公司的网络系统频频遭受攻击,导致用户信息泄露,造成不良影响。因此,如何确保Web应用程序的安全,已成为摆在人们眼前亟待解决的问题。
本书是Web安全领域专家的经验结晶,系统阐述了如何针对Web应用程序展开攻击与反攻击,深入剖析了攻击时所使用的技巧、步骤和工具,条理清晰,内容详尽。第2版全面升级,涵盖了最新的攻击技巧与应对措施,此外,书中还列出了几百个“漏洞实验室”,以帮助读者对所学内容进行巩固和实战演习。
✦ Table of Contents
封面
书名
版权
前言
目录
第1章 Web应用程序安全与风险
1.1 Web应用程序的发展历程
1.1.1 Web应用程序的常见功能
1.1.2 Web应用程序的优点
1.2 Web应用程序安全
1.2.1 “本站点是安全的”
1.2.2 核心安全问题:用户可提交任意输入
1.2.3 关键问题因素
1.2.4 新的安全边界
1.2.5 Web应用程序安全的未来
1.3 小结
第2章 核心防御机制
2.1 处理用户访问
2.1.1 身份验证
2.1.2 会话管理
2.1.3 访问控制
2.2 处理用户输入
2.2.1 输入的多样性
2.2.2 输入处理方法
2.2.3 边界确认
2.2.4 多步确认与规范化
2.3 处理攻击者
2.3.1 处理错误
2.3.2 维护审计日志
2.3.3 向管理员发出警报
2.3.4 应对攻击
2.4 管理应用程序
2.5 小结
2.6 问题
第3章 Web应用程序技术
3.1 HTTP
3.1.1 HTTP请求
3.1.2 HTTP响应
3.1.3 HTTP方法
3.1.4 URL
3.1.5 REST
3.1.6 HTTP消息头
3.1.7 cookie
3.1.8 状态码
3.1.9 HTTPS
3.1.10 HTTP代理
3.1.11 HTTP身份验证
3.2 Web功能
3.2.1 服务器端功能
3.2.2 客户端功能
3.2.3 状态与会话
3.3 编码方案
3.3.1 URL编码
3.3.2 Unicode编码
3.3.3 HTML编码
3.3.4 Base64编码
3.3.5 十六进制编码
3.3.6 远程和序列化框架
3.4 下一步
3.5 问题
第4章 解析应用程序
4.1 枚举内容与功能
4.1.1 Web抓取
4.1.2 用户指定的抓取
4.1.3 发现隐藏的内容
4.1.4 应用程序页面与功能路径
4.1.5 发现隐藏的参数
4.2 分析应用程序
4.2.1 确定用户输入入口点
4.2.2 确定服务器端技术
4.2.3 确定服务器端功能
4.2.4 解析受攻击面
4.2.5 解析Extreme Internet Shopping应用程序
4.3 小结
4.4 问题
第5章 避开客户端控件
5.1 通过客户端传送数据
5.1.1 隐藏表单字段
5.1.2 HTTP cookie
5.1.3 URL参数
5.1.4 Referer消息头
5.1.5 模糊数据
5.1.6 ASP.NET ViewState
5.2 收集用户数据:HTML表单
5.2.1 长度限制
5.2.2 基于脚本的确认
5.2.3 禁用的元素
5.3 收集用户数据:浏览器扩展
5.3.1 常见的浏览器扩展技术
5.3.2 攻击浏览器扩展的方法
5.3.3 拦截浏览器扩展的流量
5.3.4 反编译浏览器扩展
5.3.5 附加调试器
5.3.6 本地客户端组件
5.4 安全处理客户端数据
5.4.1 通过客户端传送数据
5.4.2 确认客户端生成的数据
5.4.3 日志与警报
5.5 小结
5.6 问题
第6章 攻击验证机制
6.1 验证技术
6.2 验证机制设计缺陷
6.2.1 密码保密性不强
6.2.2 蛮力攻击登录
6.2.3 详细的失败消息
6.2.4 证书传输易受攻击
6.2.5 密码修改功能
6.2.6 忘记密码功能
6.2.7 “记住我”功能
6.2.8 用户伪装功能
6.2.9 证书确认不完善
6.2.10 非唯一性用户名
6.2.11 可预测的用户名
6.2.12 可预测的初始密码
6.2.13 证书分配不安全
6.3 验证机制执行缺陷
6.3.1 故障开放登录机制
6.3.2 多阶段登录机制中的缺陷
6.3.3 不安全的证书存储
6.4 保障验证机制的安全
6.4.1 使用可靠的证书
6.4.2 安全处理证书
6.4.3 正确确认证书
6.4.4 防止信息泄露
6.4.5 防止蛮力攻击
6.4.6 防止滥用密码修改功能
6.4.7 防止滥用账户恢复功能
6.4.8 日志、监控与通知
6.5 小结
6.6 问题
第7章 攻击会话管理
7.1 状态要求
7.2 会话令牌生成过程中的薄弱环节
7.2.1 令牌有一定含义
7.2.2 令牌可预测
7.2.3 加密令牌
7.3 会话令牌处理中的薄弱环节
7.3.1 在网络上泄露令牌
7.3.2 在日志中泄露令牌
7.3.3 令牌-会话映射易受攻击
7.3.4 会话终止易受攻击
7.3.5 客户端暴露在令牌劫持风险之中
7.3.6 宽泛的cookie范围
7.4 保障会话管理的安全
7.4.1 生成强大的令牌
7.4.2 在整个生命周期保障令牌的安全
7.4.3 日志、监控与警报
7.5 小结
7.6 问题
第8章 攻击访问控制
8.1 常见漏洞
8.1.1 完全不受保护的功能
8.1.2 基于标识符的功能
8.1.3 多阶段功能
8.1.4 静态文件
8.1.5 平台配置错误
8.1.6 访问控制方法不安全
8.2 攻击访问控制
8.2.1 使用不同用户账户进行测试
8.2.2 测试多阶段过程
8.2.3 通过有限访问权限进行测试
8.2.4 测试“直接访问方法”
8.2.5 测试对静态资源的控制
8.2.6 测试对HTTP方法实施的限制
8.3 保障访问控制的安全
8.4 小结
8.5 问题
第9章 攻击数据存储区
9.1 注入解释型语言
9.2 注入SQL
9.2.1 利用一个基本的漏洞
9.2.2 注入不同的语句类型
9.2.3 查明SQL注入漏洞
9.2.4 “指纹”识别数据库
9.2.5 UNION操作符
9.2.6 提取有用的数据
9.2.7 使用UNION提取数据
9.2.8 避开过滤
9.2.9 二阶SQL注入
9.2.10 高级利用
9.2.11 SQL注入之外:扩大数据库攻击范围
9.2.12 使用SQL注入工具
9.2.13 SQL语法与错误参考
9.2.14 防止SQL注入
9.3 注入NoSQL
9.4 注入XPath
9.4.1 破坏应用程序逻辑
9.4.2 谨慎XPath注入
9.4.3 盲目XPath注入
9.4.4 查找XPath注入漏洞
9.4.5 防止XPath注入
9.5 注入LDAP
9.5.1 利用LDAP注入
9.5.2 查找LDAP注入漏洞
9.5.3 防止LDAP注入
9.6 小结
9.7 问题
第10章 测试后端组件
10.1 注入操作系统命令
10.1.1 例1:通过Perl注入
10.1.2 例2:通过ASP注入
10.1.3 通过动态执行注入
10.1.4 查找OS命令注入漏洞
10.1.5 查找动态执行漏洞
10.1.6 防止OS命令注入
10.1.7 防止脚本注入漏洞
10.2 操作文件路径
10.2.1 路径遍历漏洞
10.2.2 文件包含漏洞
10.3 注入XML解释器
10.3.1 注入XML外部实体
10.3.2 注入SOAP
10.3.3 查找并利用SOAP注入
10.3.4 防止SOAP注入
10.4 注入后端HTTP请求
10.4.1 服务器端HTTP重定向
10.4.2 HTTP参数注入
10.5 注入电子邮件
10.5.1 操纵电子邮件标头
10.5.2 SMTP命令注入
10.5.3 查找SMTP注入漏洞
10.5.4 防止SMTP注入
10.6 小结
10.7 问题
第11章 攻击应用程序逻辑
11.1 逻辑缺陷的本质
11.2 现实中的逻辑缺陷
11.2.1 例1:征求提示
11.2.2 例2:欺骗密码修改功能
11.2.3 例3:直接结算
11.2.4 例4:修改保险单
11.2.5 例5:入侵银行
11.2.6 例6:规避交易限制
11.2.7 例7:获得大幅折扣
11.2.8 例8:避免转义
11.2.9 例9:避开输入确认
11.2.10 例10:滥用搜索功能
11.2.11 例11:利用调试消息
11.2.12 例12:与登录机制竞赛
11.3 避免逻辑缺陷
11.4 小结
11.5 问题
第12章 攻击其他用户
12.1 XSS的分类
12.1.1 反射型XSS漏洞
12.1.2 保存型XSS漏洞
12.1.3 基于DOM的XSS漏洞
12.2 进行中的XSS攻击
12.2.1 真实XSS攻击
12.2.2 XSS攻击有效载荷
12.2.3 XSS攻击的传送机制
12.3 查找并利用XSS漏洞
12.3.1 查找并利用反射型XSS漏洞
12.3.2 查找并利用保存型XSS漏洞
12.3.3 查找并利用基于DOM的XSS漏洞
12.4 防止XSS攻击
12.4.1 防止反射型与保存型XSS漏洞
12.4.2 防止基于DOM的XSS漏洞
12.5 小结
12.6 问题
第13章 攻击用户:其他技巧
13.1 诱使用户执行操作
13.1.1 请求伪造
13.1.2 UI伪装
13.2 跨域捕获数据
13.2.1 通过注入HTML捕获数据
13.2.2 通过注入CSS捕获数据
13.2.3 JavaScript劫持
13.3 同源策略深入讨论
13.3.1 同源策略与浏览器扩展
13.3.2 同源策略与HTML5
13.3.3 通过代理服务应用程序跨域
13.4 其他客户端注入攻击
13.4.1 HTTP消息头注入
13.4.2 cookie注入
13.4.3 开放式重定向漏洞
13.4.4 客户端SQL注入
13.4.5 客户端HTTP参数污染
13.5 本地隐私攻击
13.5.1 持久性cookie
13.5.2 缓存Web内容
13.5.3 浏览历史记录
13.5.4 自动完成
13.5.5 Flash本地共享对象
13.5.6 Silverlight独立存储
13.5.7 Internet Explorer userData
13.5.8 HTML5本地存储机制
13.5.9 防止本地隐私攻击
13.6 攻击ActiveX控件
13.6.1 查找ActiveX漏洞
13.6.2 防止ActiveX漏洞
13.7 攻击浏览器
13.7.1 记录键击
13.7.2 窃取浏览器历史记录与搜索查询
13.7.3 枚举当前使用的应用程序
13.7.4 端口扫描
13.7.5 攻击其他网络主机
13.7.6 利用非HTTP服务
13.7.7 利用浏览器漏洞
13.7.8 DNS重新绑定
13.7.9 浏览器利用框架
13.7.10 中间人攻击
13.8 小结
13.9 问题
第14章 定制攻击自动化
14.1 应用定制自动化攻击
14.2 枚举有效的标识符
14.2.1 基本步骤
14.2.2 探测“触点”
14.2.3 编写攻击脚本
14.2.4 JAttack
14.3 获取有用的数据
14.4 常见漏洞模糊测试
14.5 整合全部功能:Burp Intruder
14.6 实施自动化的限制
14.6.1 会话处理机制
14.6.2 CAPTCHA控件
14.7 小结
14.8 问题
第15章 利用信息泄露
15.1 利用错误消息
15.1.1 错误消息脚本
15.1.2 栈追踪
15.1.3 详尽的调试消息
15.1.4 服务器与数据库消息
15.1.5 使用公共信息
15.1.6 制造详尽的错误消息
15.2 收集公布的信息
15.3 使用推论
15.4 防止信息泄露
15.4.1 使用常规错误消息
15.4.2 保护敏感信息
15.4.3 尽量减少客户端信息泄露
15.5 小结
15.6 问题
第16章 攻击本地编译型应用程序
16.1 缓冲区溢出漏洞
16.1.1 栈溢出
16.1.2 堆溢出
16.1.3 “一位偏移”漏洞
16.1.4 查找缓冲区溢出漏洞
16.2 整数漏洞
16.2.1 整数溢出
16.2.2 符号错误
16.2.3 查找整数漏洞
16.3 格式化字符串漏洞
16.4 小结
16.5 问题
第17章 攻击应用程序架构
17.1 分层架构
17.1.1 攻击分层架构
17.1.2 保障分层架构的安全
17.2 共享主机与应用程序服务提供商
17.2.1 虚拟主机
17.2.2 共享的应用程序服务
17.2.3 攻击共享环境
17.2.4 保障共享环境的安全
17.3 小结
17.4 问题
第18章 攻击Web服务器
18.1 Web服务器配置缺陷
18.1.1 默认证书
18.1.2 默认内容
18.1.3 目录列表
18.1.4 WebDAV方法
18.1.5 Web服务器作为代理服务器
18.1.6 虚拟主机配置缺陷
18.1.7 保障Web服务器配置的安全
18.2 易受攻击的服务器软件
18.2.1 应用程序框架缺陷
18.2.2 内存管理漏洞
18.2.3 编码与规范化漏洞
18.2.4 查找Web服务器漏洞
18.2.5 保障Web服务器软件的安全
18.3 Web应用程序防火墙
18.4 小结
18.5 问题
第19章 查找源代码中的漏洞
19.1 代码审查方法
19.1.1 “黑盒”测试与“白盒”测试
19.1.2 代码审查方法
19.2 常见漏洞签名
19.2.1 跨站点脚本
19.2.2 SQL注入
19.2.3 路径遍历
19.2.4 任意重定向
19.2.5 OS命令注入
19.2.6 后门密码
19.2.7 本地代码漏洞
19.2.8 源代码注释
19.3 Java平台
19.3.1 确定用户提交的数据
19.3.2 会话交互
19.3.3 潜在危险的API
19.3.4 配置Java环境
19.4 ASP.NET
19.4.1 确定用户提交的数据
19.4.2 会话交互
19.4.3 潜在危险的API
19.4.4 配置ASP.NET环境
19.5 PHP
19.5.1 确定用户提交的数据
19.5.2 会话交互
19.5.3 潜在危险的API
19.5.4 配置PHP环境
19.6 Perl
19.6.1 确定用户提交的数据
19.6.2 会话交互
19.6.3 潜在危险的API
19.6.4 配置Perl环境
19.7 JavaScript
19.8 数据库代码组件
19.8.1 SQL注入
19.8.2 调用危险的函数
19.9 代码浏览工具
19.10 小结
19.11 问题
第20章 Web应用程序黑客工具包
20.1 Web浏览器
20.1.1 Internet Explorer
20.1.2 Firefox
20.1.3 Chrome
20.2 集成测试套件
20.2.1 工作原理
20.2.2 测试工作流程
20.2.3 拦截代理服务器替代工具
20.3 独立漏洞扫描器
20.3.1 扫描器探测到的漏洞
20.3.2 扫描器的内在限制
20.3.3 扫描器面临的技术挑战
20.3.4 当前产品
20.3.5 使用漏洞扫描器
20.4 其他工具
20.4.1 Wikto/Nikto
20.4.2 Firebug
20.4.3 Hydra
20.4.4 定制脚本
20.5 小结
第21章 Web应用程序渗透测试方法论
21.1 解析应用程序内容
21.1.1 搜索可见的内容
21.1.2 浏览公共资源
21.1.3 发现隐藏的内容
21.1.4 查找默认的内容
21.1.5 枚举标识符指定的功能
21.1.6 调试参数
21.2 分析应用程序
21.2.1 确定功能
21.2.2 确定数据进入点
21.2.3 确定所使用的技术
21.2.4 解析受攻击面
21.3 测试客户端控件
21.3.1 通过客户端传送数据
21.3.2 客户端输入控件
21.3.3 测试浏览器扩展组件
21.4 测试验证机制
21.4.1 了解验证机制
21.4.2 测试密码强度
21.4.3 测试用户名枚举
21.4.4 测试密码猜测的适应性
21.4.5 测试账户恢复功能
21.4.6 测试“记住我”功能
21.4.7 测试伪装功能
21.4.8 测试用户名唯一性
21.4.9 测试证书的可预测性
21.4.10 检测不安全的证书传输
21.4.11 检测不安全的证书分配
21.4.12 测试不安全的存储
21.4.13 测试逻辑缺陷
21.4.14 利用漏洞获取未授权访问
21.5 测试会话管理机制
21.5.1 了解会话管理机制
21.5.2 测试令牌的含义
21.5.3 测试令牌的可预测性
21.5.4 检查不安全的令牌传输
21.5.5 检查在日志中泄露的令牌
21.5.6 测试令牌-会话映射
21.5.7 测试会话终止
21.5.8 测试会话固定
21.5.9 检查CSRF
21.5.10 检查cookie范围
21.6 测试访问控件
21.6.1 了解访问控制要求
21.6.2 使用多个账户测试
21.6.3 使用有限的权限测试
21.6.4 测试不安全的访问控制方法
21.7 测试基于输入的漏洞
21.7.1 模糊测试所有请求参数
21.7.2 测试SQL注入
21.7.3 测试XSS和其他响应注入
21.7.4 测试OS命令注入
21.7.5 测试路径遍历
21.7.6 测试脚本注入
21.7.7 测试文件包含
21.8 测试特殊功能方面的输入漏洞
21.8.1 测试SMTP注入
21.8.2 测试本地代码漏洞
21.8.3 测试SOAP注入
21.8.4 测试LDAP注入
21.8.5 测试XPath注入
21.8.6 测试后端请求注入
21.8.7 测试XXE注入
21.9 测试逻辑缺陷
21.9.1 确定关键的受攻击面
21.9.2 测试多阶段过程
21.9.3 测试不完整的输入
21.9.4 测试信任边界
21.9.5 测试交易逻辑
21.10 测试共享主机漏洞
21.10.1 测试共享基础架构之间的隔离
21.10.2 测试使用ASP主机的应用程序之间的隔离
21.11 测试Web服务器漏洞
21.11.1 测试默认证书
21.11.2 测试默认内容
21.11.3 测试危险的HTTP方法
21.11.4 测试代理功能
21.11.5 测试虚拟主机配置不当
21.11.6 测试Web服务器软件漏洞
21.11.7 测试Web应用程序防火墙
21.12 其他检查
21.12.1 测试基于DOM的攻击
21.12.2 测试本地隐私漏洞
21.12.3 测试脆弱的SSL加密算法
21.12.4 检查同源策略配置
21.13 检查信息泄露
封底
📜 SIMILAR VOLUMES
<p>《黑客攻防技术宝典:系统实战篇(第2版)》由世界顶级安全专家亲自执笔,详细阐述了系统安全、应用程序安全、软件破解、加密解密等安全领域的核心问题,并用大量的实例说明如何检查Windows、Linux、Solaris等流行操作系统中的安全漏洞和Oracle等数据库中的安全隐患。</p> <p>《黑客攻防技术宝典:系统实战篇(第2版)》适用于所有计算机安全领域的技术人员和管理人员以及对计算机安全感兴趣的爱好者。</p>
<p>《Web技术导论(第2版)》是为高等学校计算机应用、信息管理及电子商务等专业的学生编写的Web技术、开发及应用的综合性书籍,也可以作为非计算机专业高年级学生学习计算机技术的教材,同时还可作为科技人员和IT从业人员了解Web的较好的综合性参考书。全书共分为6章,分别介绍了Web技术的相关概念、核心技术及Web的最新进展;Web服务器的架设和管理;HTML和XML标记语言,XML相关技术及开发环境;网页设计与制作;Web客户端开发技术,包括JavaScript和AJAX技术;Web服务器开发,包括Java技术、JSP技术等内容。</p> <p>《Web技术导论(第2版)》内容广泛、新颖,逻
<p>《五笔字型速查宝典(第2版)(双色)》编排紧凑、内容全面、五笔编码通用性强。《五笔字型速查宝典(第2版)(双色)》收集的单字以GB2312字库为标准。学习使用五笔字型的重点是熟练掌握字词的拆分原则。《五笔字型速查宝典(第2版)(双色)》严格遵守读者的使用习惯,每个单字不仅给出五笔编码,还配有详细的拆分字根,再列出与单字直接相关的常用词组及词组的五笔编码。同时本字词典收集日常使用最广泛词汇,足以满足普通用户的需要。</p> <p>《五笔字型速查宝典(第2版)(双色)》既适合使用五笔的普通用户,也适合专业的排版录入人员,是查询五笔字型编码的绝佳工具和参考书。</p>