业务安全识别点
- 业务环节存在的安全风险
业务环节存在的安全风险指的是业务使用者可见的业务存在的安全风险,如注册、登录和密码找回等身份认证环节,是否存在完善的验证码机制、数据一致性校验机制、session和cookie校验机制,是否能规避验证码绕过、暴力破解和SQL注入等漏洞。 - 支持系统存在的安全风险
如用户访问控制机制是否完善,是否存在水平越权或垂直越权漏洞。系统内加密存储机制是否完善,业务数据是否明文传输。系统使用的业务接口是否可以未授权访问/调用,是否可以调用重放、遍历,接口调用参数是否可篡改等 - 业务环节间存在的安全风险
如系统业务流程是否存在乱序,导致某个业务环节可绕过、回退,或某个业务请求可以无限重放。业务环节间传输的数据是否有一致性校验机制,是否存在业务数据可悲篡改的风险 - 支持系统间存在的安全风险
如系统间数据传输是否加密,系统间传输的参数是否可篡改。系统间输入参数的过滤机制是否完善,是否可能导致SQL注入、XSS跨站脚本和代码执行漏洞 - 业务环节与支持系统间存在的安全风险
如数据传输是否加密、加密方式是否完善,是否采用前端加密、简单md5编码等不安全的加密方式。系统处理多线程并发请求的机制是否完善,服务端逻辑与数据库读写是否存在时序问题导致条件竞争漏洞。
密码找回安全
-
验证码客户端回显
-
验证码暴力破解
-
response状态值修改测试
-
session覆盖
-
弱Token设计缺陷测试
-
密码找回流程绕过测试
很多网站的密码找回功能一般有一下几个步骤- 用户输入找回密码的账号
- 校验凭证:向用户发送短信验证码或者找回密码链接,用户回填验证码或单击链接进入密码重置页面,以此方式证明当前操作用户是账号主人。
- 校验成功进入重置密码页面
可以直接收集第三步重置密码的接口,可以直接跳过凭证校验的接口尝试直接重置密码