业务安全
随着互联网+的发展,经济形态不断发生变化,众多传统行业逐渐融入互联网环境并利用信息通讯技术及互联网平台进行商务活动,这些平台(比如银行,保险,证券,电商,游侠,社交等等)由于涉及到大量大金钱交易,个人信息等重要隐私数据,因此成为黑客攻击的首要目标。而开发人员安全意识薄弱(只重视业务功能,而忽略在用户使用过程中个人行为对web应用的业务逻辑功能的安全性影响),开发代码频繁迭代导致这些平台业务逻辑漏洞层出不穷(业务逻辑漏洞主要是开发人员业务流程设计的缺陷,不仅局限于网络层,系统层,代码层等,比如登录验证的绕过,交易中的数据篡改,接口的恶意调用,等都属于业务逻辑漏洞。)
业务安全测试流程
测试准本
前期准备
业务调研
对业务系统进行调研
业务建模
针对不同行业,平台的业务系统,识别出其中的高风险业务场景进行建模
业务流程梳理
建模完成后需要对重要业务场景的各个业务模块逐一进行业务流程梳理
主要原则:
- 区分业务主流程和分支流程
- 概况归纳业务分支流程,将具有业务相似性的分支流程构成某一类业务流程,无需单独对其进行测试
- 识别业务流程数据的信息流,特别是业务数据流在交互双方之间传输的先后顺序,路径等。
- 识别业务数据流功能字段,识别数据流中包含的重要程度不登的信息,理解这些字段的含义有助于下阶段的风险点分析。
业务风险点识别
主要关注内容:
1.业务环节存在的风险点:
如登录注册找回密码等身份验证环节,是否存在完善的验证码机制,数据一致性机制,Session和Cookie校验机制等,是否能规避验证码绕过,暴力破解,SQL注入等漏洞
2. 支持系统存在的安全风险
用户访问机制是否完善,是否存在水平越权或垂直越权。系统加密存储机制是否完善,业务数据是否明文传输,业务接口是否可以非授权访问,是否可以重放,遍历,接口参数是否可以篡改等
业务数据安全
- 商品支付金额篡改
- 前端JS限制绕过验证
- 请求重放
- 业务上限测试
- 商品订购数量篡改
密码找回安全
- 验证码客户端回显测试
- 验证码暴力破解
- Response状态值修改测试
- Session覆盖测试
- 弱Token设计缺陷测试
- 密码找回流程测试
- 接口参数账号修改
- 用户登录密码爆破