Owasp Testing Guide v4

报告编写

执行技术方面的评价只是整体评价进程的一半;最终产品是一份内容详实的报告。报告应该简单易懂、突出所有评估期间找到的风险,并将之呈现给管理员工和技术员工。

报告需要有三个主要部分,并且在一定程度上允许每个部分被单独分离出来,打印并交与相关的团队,比如开发人员或者系统管理员。

通常推荐有如下几个部分:.

1. 内容提要

内容提要集合了所有评价,并给予管理层或系统管理员一个对全局风险的认识。使用的语言应该更适合没有技术背景的人看,还应该使用图表来显示风险等级。请牢记,内容提要的读者是那些仅仅有时间阅读摘要的人,他需要描述清楚下面两个问题:

  1. 哪里发生问题了?
  2. 我该如何修复问题?

你只能用一页纸来回答这些问题。

内容提要应该明确地陈述清楚漏洞和它的严重程度是组织风险管理的一个输入,而不是结果或者整治措施。最安全的,可以向组织解释,测试者并不清楚漏洞被利用后会给组织或者商业行为带来何种威胁。这些是风险控制专家在结合漏洞和计算风险等级后的工作。风险管理通常是组织IT安全管控(GRC)的一部分。这份报告只是简单地向这个过程提供一个输入。

2. 测试详情

这里介绍安全测试、问题发现、整改措施大纲,推荐章节标题如下:

2.1 测试项目目标:

这部分大略描述评估项目整体目标和期望结果。

2.2 测试项目范围:

这部分描述项目范围。

2.3 测试项目进度:

这部分描述测试正式开始和结束时间

2.4 测试目标:

这部分应列清楚测试应用数量和测试系统数量。

2.5 测试限制条件:

这部分应表达出在整个评估过程中存在的限制条件。比如项目关注度限制,测试方法、性能、技术水平限制以及测试中测试者所遇到的问题等等。

2.6 测试结果小结

这部分介绍在测试中发现的漏洞和问题。

2.7 整改方案小结

这部分规划修复发现的漏洞的方案和计划。

3. 测试结果

报告的最后部分需要包含详细的漏洞技术细节以及解决技术方案。这部分以一个技术层为目标,它应该包括关于所有必要的信息,使得技术团队理解问题并解决问题。每个发现的问题应该明确简练,并让报告阅读者能立即理解问题所在。

测试结果部分应当包括:

  • 一定数量的截图和命令参考,用以做简单的参考
  • 被影响的事物
  • 对问题的技术描述
  • 如何解决问题的章节
  • 问题严重等级,可以使用CVSS描述的向量标记[1]

下面是在评估中测试的清单列表:

测试编号 测试内容 发现问题 严重等级 解决方案
信息收集
OTG-INFO-001 搜索引擎信息发现和侦察
OTG-INFO-002 识别web服务器
OTG-INFO-003 web服务器元文件信息发现
OTG-INFO-004 服务器应用应用枚举
OTG-INFO-005 评论信息发现
OTG-INFO-006 应用入口识别
OTG-INFO-007 识别应用工作流程
OTG-INFO-008 识别web应用框架
OTG-INFO-009 识别web应用程序
OTG-INFO-010 绘制应用架构图
配置以及部署管理测试
OTG-CONFIG-001 网络基础设施配置测试
OTG-CONFIG-002 应用平台配置管理测试
OTG-CONFIG-003 文件扩展名处理测试
OTG-CONFIG-004 备份、未链接文件测试
OTG-CONFIG-005 枚举管理接口测试
OTG-CONFIG-006 HTTP方法测试
OTG-CONFIG-007 HTTP严格传输安全测试
OTG-CONFIG-008 应用跨域策略测试
身份鉴别管理测试
OTG-IDENT-001 角色定义测试
OTG-IDENT-002 用户注册过程测试
OTG-IDENT-003 帐户权限变化测试
OTG-IDENT-004 帐户枚举测试
OTG-IDENT-005 弱用户名策略测试
认证测试
OTG-AUTHN-001 口令信息加密传输测试
OTG-AUTHN-002 默认口令测试
OTG-AUTHN-003 帐户锁定机制测试
OTG-AUTHN-004 认证绕过测试
OTG-AUTHN-005 记住密码功能测试 functionality
OTG-AUTHN-006 浏览器缓存弱点测试
OTG-AUTHN-007 密码策略测试
OTG-AUTHN-008 安全问答测试
OTG-AUTHN-009 密码重置测试
OTG-AUTHN-010 其他相关认证渠道测试
授权测试
OTG-AUTHZ-001 目录遍历/文件包含测试
OTG-AUTHZ-002 授权绕过测试
OTG-AUTHZ-003 权限提升测试
OTG-AUTHZ-004 不安全对象直接引用测试
会话管理测试
OTG-SESS-001 会话管理绕过测试
OTG-SESS-002 Cookies属性测试
OTG-SESS-003 会话固定测试
OTG-SESS-004 会话令牌泄露测试
OTG-SESS-005 跨站点请求伪造(CSRF)测试
OTG-SESS-006 登出功能测试
OTG-SESS-007 会话超时测试
OTG-SESS-008 会话令牌重载测试
输入验证测试
OTG-INPVAL-001 反射型跨站脚本测试
OTG-INPVAL-002 存储型跨站脚本测试
OTG-INPVAL-003 HTTP谓词伪造测试
OTG-INPVAL-004 HTTP参数污染测试
OTG-INPVAL-005 SQL注入测试
Oracle注入测试
MySQL注入测试
SQL Server注入测试
PostgreSQL注入测试
MS Access注入测试
NoSQL注入测试
OTG-INPVAL-006 LDAP注入测试
OTG-INPVAL-007 ORM注入测试
OTG-INPVAL-008 XML注入测试
OTG-INPVAL-009 SSI注入测试
OTG-INPVAL-010 XPath注入测试
OTG-INPVAL-011 IMAP/SMTP注入测试
OTG-INPVAL-012 代码注入测试
本地文件包含测试
远程文件包含测试
OTG-INPVAL-013 命令执行注入测试
OTG-INPVAL-014 缓冲区溢出测试
堆溢出测试
栈溢出测试
格式化字符串测试
OTG-INPVAL-015 潜伏式漏洞测试
OTG-INPVAL-016 HTTP分割/伪造测试
错误处理测试
OTG-ERR-001 错误码分析
OTG-ERR-002 栈追踪分析
密码学测试
OTG-CRYPST-001 弱SSL/TLS加密,不安全的传输层防护测试
OTG-CRYPST-002 Padding Oracle测试
OTG-CRYPST-003 非加密信道传输敏感数据测试
业务逻辑测试
OTG-BUSLOGIC-001 业务逻辑数据验证测试
OTG-BUSLOGIC-002 请求伪造能力测试
OTG-BUSLOGIC-003 完整性测试
OTG-BUSLOGIC-004 过程时长测试
OTG-BUSLOGIC-005 功能使用次数限制测试
OTG-BUSLOGIC-006 工作流程绕过测试
OTG-BUSLOGIC-007 应用误用防护测试
OTG-BUSLOGIC-008 非预期文件类型上传测试
OTG-BUSLOGIC-009 恶意文件上传测试
客户端测试
OTG-CLIENT-001 基于DOM跨站脚本测试
OTG-CLIENT-002 JavaScript脚本执行测试
OTG-CLIENT-003 HTML注入测试
OTG-CLIENT-004 客户端URL重定向测试
OTG-CLIENT-005 CSS注入测试
OTG-CLIENT-006 客户端资源操纵测试
OTG-CLIENT-007 跨源资源分享测试
OTG-CLIENT-008 Flash跨站测试
OTG-CLIENT-009 点击劫持测试
OTG-CLIENT-010 WebSockets测试
OTG-CLIENT-011 Web消息测试
OTG-CLIENT-012 本地存储测试

附录部分

这部分常用于描述评估中使用的商业以及开源工具。当在评价过程中使用用户脚本/代码时,应该在这部分中说明或以附件形式标记。通常用户很喜欢该测试包含了顾问的使用方法。他们可以知道该评估的全面性已经包含了哪些方面。

参考资料

Industry standard vulnerability severity and risk rankings (CVSS) [1] – http://www.first.org/cvss