❶ 安全测试有哪些类型
安全测试主要包括以下几种类型:
前端安全测试:
- 数据抓取测试:包括指定内容的抓取和隐藏字段内容的抓取,例如尝试修改userid、投资金额等关键数据,以及尝试修改hidden组件和http cookie。
- 参数修改测试:针对URL参数、Referer消息头等进行修改,观察系统的响应。同时,尝试解密或篡改加密数据。
客户端数据处理安全测试:
- 测试是否减少了不必要的客户端向服务器传输的数据,并对必要的数据进行了加密处理。
验证机制安全测试:
- 验证技术测试:包括基于HTML表单的验证、多元机制、客户端SSL证书或智能卡,以及HTTP基本和摘要验证的有效性。
- 密码安全性测试:检查密码保密性是否足够强,避免使用空白、太短、常用或与用户名一致的密码。同时,测试“记住我”功能是否只记住用户名。
- 密码找回与修改逻辑测试:验证找回密码和修改密码功能是否存在逻辑漏洞。
数据存储区攻击测试:
- SQL注入测试:通过提交特殊字符或SQL语句,尝试绕过系统验证,直接访问或修改数据库内容。防御措施包括输入内容过滤、参数化查询和深层防御。
- NoSQL注入测试:针对使用NoSQL数据库的应用系统进行类似的注入攻击测试。
接口安全测试:
- 请求合法性校验:确保接口只能通过合法请求访问,如采用token方式。
- 数据校验:采用白名单方式验证数据,避免异常数据和注入攻击。
- 数据加密:对数据进行加密,防止非法监听或截取。
- 错误处理:对系统返回结果编制返回码,避免泄露堆栈信息。
- 接口阈值:设置接口访问频率阈值,防止恶意攻击。
后端组件安全测试:
- 测试后端组件是否存在注入操作系统命令、OS命令注入漏洞、路径遍历漏洞和脚本注入漏洞等安全隐患。
这些安全测试类型共同构成了全面的安全测试体系,旨在确保应用系统的安全性和稳定性。