
内容概述
《web应用安全威胁与防治:基于OWASP Top 10与ESAPI》是一本讲解Web应用中最常见的安全风险以及解决方案的实用教材。它以当今公认的安全权威机构OWASP(Open Web Application Security Project)制定的OWASP Top 10为蓝本,介绍了十项最严重的Web应用程序安全风险,并利用ESAPI(Enterprise Security API)提出了解决方案。本书共有五篇,第1篇通过几个故事引领读者进入安全的世界;第2篇是基础知识篇,读者可以了解基本的Web应用安全的技术和知识;第3篇介绍了常用的安全测试和扫描工具;第4篇介绍了各种威胁以及测试和解决方案;第5篇在前几篇的基础上,总结在设计和编码过程中的安全原则。
web应用安全威胁与防治章节目录
第1篇 引子故事一:家有一IT,如有一宝故事二:微博上的蠕虫故事三:明文密码故事四:IT青年VS禅师第2篇 基础篇第1章 Web应用技术1.1 HTTP简介1.2 HTTPS简介1.3 URI1.3.1 URL1.3.2 URI/URL/URN1.3.3 URI比较1.4 HTTP消息1.4.1 HTTP方法1.4.2 HTTP状态码1.5 HTTP Cookie1.5.1 HTTP Cookie的作用1.5.2 HTTP Cookie的缺点1.6 HTTP session1.7 HTTP的安全第2章 OWASP2.1 OWASP简介2.2 OWASP风险评估方法2.3 OWASP Top 102.4 ESAPI(Enterprise Security API)第3篇 工具篇第3章 Web服务器工具简介3.1 Apache3.2 其他Web服务器第4章 Web浏览器以及调试工具4.1 浏览器简介4.1.1 基本功能4.1.2 主流浏览器4.1.3 浏览器内核4.2 开发调试工具第5章 渗透测试工具5.1 Fiddler5.1.1 工作原理5.1.2 如何捕捉HTTPS会话5.1.3 Fiddler功能介绍5.1.4 Fiddler扩展功能5.1.5 Fiddler第三方扩展功能5.2 ZAP5.2.1 断点调试5.2.2 编码/解码5.2.3 主动扫描5.2.4 Spider5.2.5 暴力破解5.2.6 端口扫描5.2.7 Fuzzer5.2.8 API5.3 WebScrab5.3.1 HTTP代理5.3.2 Manual Request5.3.3 Spider5.3.4 Session ID分析5.3.5 Bean Shell的支持5.3.6 Web编码和解码第6章 扫描工具简介6.1 万能的扫描工具——WebInspect6.1.1 引言6.1.2 WebInspect特性6.1.3 环境准备6.1.4 HP WebInspect总览6.1.5 Web网站测试6.1.6 企业测试6.1.7 生成报告6.2 开源扫描工具——w3af6.2.1 w3af概述6.2.2 w3af环境配置6.2.3 w3af使用示例6.3 被动扫描的利器——Ratproxy6.3.1 Ratproxy概述6.3.2 Ratproxy环境配置6.3.3 Ratproxy运行第7章 漏洞学习网站7.1 WebGoat7.2 DVWA7.3 其他的漏洞学习网站第4篇 攻防篇第8章 代码注入8.1 注入的分类8.1.1 OS命令注入8.1.2 XPath注入8.1.3 LDAP注入8.1.4 SQL注入8.1.5 JSON注入8.1.6 URL参数注入8.2 OWASP ESAPI与注入问题的预防8.2.1 命令注入的ESAPI预防8.2.2 XPath注入的ESAPI预防8.2.3 LDAP注入的ESAPI预防8.2.4 SQL注入的ESAPI预防8.2.5 其他注入的ESAPI预防8.3 注入预防检查列表8.4 小结第9章 跨站脚本(XSS)9.1 XSS简介9.2 XSS分类9.2.1 反射式XSS9.2.2 存储式XSS9.2.3 基于DOM的XSS9.2.4 XSS另一种分类法9.3 XSS危害9.4 XSS检测9.4.1 手动检测9.4.2 半自动检测9.4.3 全自动检测9.5 XSS的预防9.5.1 一刀切9.5.2 在服务器端预防9.5.3 在客户端预防9.5.4 富文本框的XSS预防措施9.5.5 CSS9.5.6 FreeMarker9.5.7 OWASP ESAPI与XSS的预防9.6 XSS检查列表9.7 小结第10章 失效的身份认证和会话管理10.1 身份认证和会话管理简介10.2 谁动了我的琴弦——会话劫持10.3 请君入瓮——会话固定10.4 我很含蓄——非直接会话攻击10.5 如何测试10.5.1 会话固定测试10.5.2 用Web Scrab分析会话ID10.6 如何预防会话攻击10.6.1 如何防治固定会话10.6.2 保护你的会话令牌10.7 身份验证10.7.1 双因子认证流程图10.7.2 双因子认证原理说明10.7.3 隐藏在QR Code里的秘密10.7.4 如何在服务器端实现双因子认证10.7.5 我没有智能手机怎么办10.8 身份认证设计的基本准则10.8.1 密码长度和复杂性策略10.8.2 实现一个安全的密码恢复策略10.8.3 重要的操作应通过HTTPS传输10.8.4 认证错误信息以及账户锁定10.9 检查列表10.9.1 身份验证和密码管理检查列表10.9.2 会话管理检查列表10.10 小结第11章 不安全的直接对象引用11.1 坐一望二——直接对象引用11.2 不安全直接对象引用的危害11.3 其他可能的不安全直接对象引用11.4 不安全直接对象引用的预防11.5 如何使用OWASP ESAPI预防11.6 直接对象引用检查列表11.7 小结第12章 跨站请求伪造(CSRF)12.1 CSRF简介12.2 谁动了我的奶酪12.3 跨站请求伪造的攻击原理12.4 剥茧抽丝见真相12.5 其他可能的攻击场景12.5.1 家用路由器被CSRF攻击12.5.2 别以为用POST你就躲过了CSRF12.5.3 写一个自己的CSRF Redirector12.5.4 利用重定向欺骗老实人12.6 跨站请求伪造的检测12.6.1 手工检测12.6.2 半自动CSRFTester12.7 跨站请求伪造的预防12.7.1 用户需要知道的一些小技巧12.7.2 增加一些确认操作12.7.3 重新认证12.7.4 加入验证码(CAPTCHA)12.7.5 ESAPI解决CSRF12.7.6 CSRFGuard12.8 CSRF检查列表12.9 小结第13章 安全配置错误13.1 不能说的秘密——Google hacking13.2 Tomcat那些事13.3 安全配置错误的检测与预防13.3.1 系统配置13.3.2 Web应用服务器的配置13.3.3 数据库13.3.4 日志配置13.3.5 协议13.3.6 开发相关的安全配置13.3.7 编译器的安全配置13.4 安全配置检查列表13.5 小结第14章 不安全的加密存储14.1 关于加密14.1.1 加密算法简介14.1.2 加密算法作用14.1.3 加密分类14.2 加密数据分类14.3 加密数据保护14.3.1 密码的存储与保护14.3.2 重要信息的保护14.3.3 密钥的管理14.3.4 数据的完整性14.3.5 云系统存储安全14.3.6 数据保护的常犯错误14.4 如何检测加密存储数据的安全性14.4.1 审查加密内容14.4.2 已知答案测试(Known Answer Test)14.4.3 自发明加密算法的检测14.4.4 AES加密算法的测试14.4.5 代码审查14.5 如何预防不安全的加密存储的数据14.6 OWASP ESAPI与加密存储14.6.1 OWASP ESAPI与随机数14.6.2 OWASP ESAPI 与FIPS 140-214.7 加密存储检查列表14.8 小结第15章 没有限制的URL访问15.1 掩耳盗铃——隐藏(Disable)页面按钮15.2 权限认证模型15.2.1 自主型访问控制15.2.2 强制型访问控制15.2.3 基于角色的访问控制15.3 绕过认证15.3.1 网络嗅探15.3.2 默认或者可猜测用户账号15.3.3 直接访问内部URL15.3.4 修改参数绕过认证15.3.5 可预测的SessionID15.3.6 注入问题15.3.7 CSRF15.3.8 绕过认证小结15.4 绕过授权验证15.4.1 水平越权15.4.2 垂直越权15.5 文件上传与下载15.5.1 文件上传15.5.2 文件下载和路径遍历15.6 静态资源15.7 后台组件之间的认证15.8 SSO15.9 OWASP ESAPI与授权15.9.1 AccessController的实现15.9.2 一个AccessController的代码示例15.9.3 知识兔还需要做些什么15.10 访问控制检查列表15.11 小结第16章 传输层保护不足16.1 卧底的故事——对称加密和非对称加密16.2 明文传输问题16.3 有什么危害16.3.1 会话劫持16.3.2 中间人攻击16.4 预防措施16.4.1 密钥交换算法16.4.2 对称加密和非对称加密结合16.4.3 SSL/TLS16.5 检查列表16.6 小结第17章 未验证的重定向和转发17.1 三角借贷的故事——转发和重定向17.1.1 URL转发17.1.2 URL重定向17.1.3 转发与重定向的区别17.1.4 URL 重定向的实现方式17.2 危害17.3 如何检测17.4 如何预防17.4.1 OWASP ESAPI与预防17.5 重定向和转发检查列表17.6 小结第5篇 安全设计、编码十大原则第18章 安全设计十大原则设计原则1——简单易懂设计原则2——最小特权设计原则3——故障安全化设计原则4——保护最薄弱环节设计原则5——分享深度防御设计原则6——分隔设计原则7——总体调节设计原则8——默认不信任设计原则9——保护隐私设计原则10——公开设计,不要假设隐藏秘密就是安全第19章 安全编码十大原则编码原则1——保持简单编码原则2——验证输入编码原则3——注意编译器告警编码原则4——框架和设计要符合安全策略编码原则5——默认拒绝编码原则6——坚持最小权限原则编码原则7——净化发送到其他系统的数据编码原则8——深度预防编码原则9——使用有效的质量保证技术编码原则10——采用一个安全编码规范
使用说明
1、下载并解压,得出pdf文件2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读>
下载仅供下载体验和测试学习,不得商用和正当使用。
下载体验