2048| 0
|
[职业技术] [黑客攻防技术宝典][第2版][[英] Dafydd Stuttard & [英] Marcus Pinto][EPUB] |
书名:黑客攻防技术宝典(第2版) 作者:[英]DafyddStuttard&[英]MarcusPinto 评分:★★★★ 语言:中文 内容简介: Web应用无处不在,安全隐患如影随形。承载着丰富功能与用途的Web应用程序中布满了各种漏洞,攻击者能够利用这些漏洞盗取用户资料,实施诈骗,破坏其他系统等。近年来,一些公司的网络系统频频遭受攻击,导致用户信息泄露,造成不良影响。因此,如何确保Web应用程序的安全,已成为摆在人们眼前亟待解决的问题。 本书是Web安全领域专家的经验结晶,系统阐述了如何针对Web应用程序展开攻击与反攻击,深入剖析了攻击时所使用的技巧、步骤和工具,条理清晰,内容详尽。第2版全面升级,涵盖了最新的攻击技巧与应对措施,此外,书中还列出了几百个“漏洞实验室”,以帮助读者对所学内容进行巩固和实战演习。 目录: 书名页 版权页 内容提要 版权声明 致谢名单 致谢 目录 译者序 前言 第1章Web应用程序安全与风险 1.1Web应用程序的发展历程 1.1.1Web应用程序的常见功能 1.1.2Web应用程序的优点 1.2Web应用程序安全 1.2.1“本站点是安全的” 1.2.2核心安全问题:用户可提交任意输入 1.2.3关键问题因素 1.2.4新的安全边界 1.2.5Web应用程序安全的未来 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.1HTTP 3.1.1HTTP请求 3.1.2HTTP响应 3.1.3HTTP方法 3.1.4URL 3.1.5REST 3.1.6HTTP消息头 3.1.7cookie 3.1.8状态码 3.1.9HTTPS 3.1.10HTTP代理 3.1.11HTTP身份验证 3.2Web功能 3.2.1服务器端功能 3.2.2客户端功能 3.2.3状态与会话 3.3编码方案 3.3.1URL编码 3.3.2Unicode编码 3.3.3HTML编码 3.3.4Base64编码 3.3.5十六进制编码 3.3.6远程和序列化框架 3.4下一步 3.5问题 第4章解析应用程序 4.1枚举内容与功能 4.1.1Web抓取 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解析ExtremeInternetShopping应用程序 4.3小结 4.4问题 第5章避开客户端控件 5.1通过客户端传送数据 5.1.1隐藏表单字段 5.1.2HTTPcookie 5.1.3URL参数 5.1.4Referer消息头 5.1.5模糊数据 5.1.6ASP.NETViewState 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.5UNION操作符 9.2.6提取有用的数据 9.2.7使用UNION提取数据 9.2.8避开过滤 9.2.9二阶SQL注入 9.2.10高级利用 9.2.11SQL注入之外:扩大数据库攻击范围 9.2.12使用SQL注入工具 9.2.13SQL语法与错误参考 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.2HTTP参数注入 10.5注入电子邮件 10.5.1操纵电子邮件标头 10.5.2SMTP命令注入 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.1XSS的分类 12.1.1反射型XSS漏洞 12.1.2保存型XSS漏洞 12.1.3基于DOM的XSS漏洞 12.2进行中的XSS攻击 12.2.1真实XSS攻击 12.2.2XSS攻击有效载荷 12.2.3XSS攻击的传送机制 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.2UI伪装 13.2跨域捕获数据 13.2.1通过注入HTML捕获数据 13.2.2通过注入CSS捕获数据 13.2.3JavaScript劫持 13.3同源策略深入讨论 13.3.1同源策略与浏览器扩展 13.3.2同源策略与HTML5 13.3.3通过代理服务应用程序跨域 13.4其他客户端注入攻击 13.4.1HTTP消息头注入 13.4.2cookie注入 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.5Flash本地共享对象 13.5.6Silverlight独立存储 13.5.7InternetExploreruserData 13.5.8HTML5本地存储机制 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.8DNS重新绑定 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.4JAttack 14.3获取有用的数据 14.4常见漏洞模糊测试 14.5整合全部功能:BurpIntruder 14.6实施自动化的限制 14.6.1会话处理机制 14.6.2CAPTCHA控件 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.1Web服务器配置缺陷 18.1.1默认证书 18.1.2默认内容 18.1.3目录列表 18.1.4WebDAV方法 18.1.5Web服务器作为代理服务器 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.3Web应用程序防火墙 18.4小结 18.5问题 第19章查找源代码中的漏洞 19.1代码审查方法 19.1.1“黑盒”测试与“白盒”测试 19.1.2代码审查方法 19.2常见漏洞签名 19.2.1跨站点脚本 19.2.2SQL注入 19.2.3路径遍历 19.2.4任意重定向 19.2.5OS命令注入 19.2.6后门密码 19.2.7本地代码漏洞 19.2.8源代码注释 19.3Java平台 19.3.1确定用户提交的数据 19.3.2会话交互 19.3.3潜在危险的API 19.3.4配置Java环境 19.4ASP.NET 19.4.1确定用户提交的数据 19.4.2会话交互 19.4.3潜在危险的API 19.4.4配置ASP.NET环境 19.5PHP 19.5.1确定用户提交的数据 19.5.2会话交互 19.5.3潜在危险的API 19.5.4配置PHP环境 19.6Perl 19.6.1确定用户提交的数据 19.6.2会话交互 19.6.3潜在危险的API 19.6.4配置Perl环境 19.7JavaScript 19.8数据库代码组件 19.8.1SQL注入 19.8.2调用危险的函数 19.9代码浏览工具 19.10小结 19.11问题 第20章Web应用程序黑客工具包 20.1Web浏览器 20.1.1InternetExplorer 20.1.2Firefox 20.1.3Chrome 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.1Wikto/Nikto 20.4.2Firebug 20.4.3Hydra 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检查信息泄露 封底 链接:http://pan.baidu.com/s/1c2BnGn2
购买主题
本主题需向作者支付 5 金币 才能浏览
| |||
① www.wpfx8.com 欢迎您分享自己的网盘资源!分享越多,金币越多!资源互利共享,我为人人,人人为我! |
|||