1 业务安全测试关键点#
0.1 技术篇#
0.1 登录认证模块测试#
暴力破解测试
本地加密传输测试
0.12Session 测试#
Session 会话固定测试
Session 会话注销测试
Session 会话超时时间测试
Cookie 仿冒测试
密文对比认证测试
登陆失败信息测试
0.2 业务办理模块测试#
订单 ID 篡改测试
手机号篡改测试
用户 ID 篡改测试
邮箱和用户篡改测试
商品编号篡改测试
竞争条件测试
0.3 授权访问模块测试#
未授权访问测试
0.31 越权测试#
平行越权测试
垂直越权测试
0.4 输入输出模块测试#
0.41SQL 注入测试#
数字型注入
字符型注入
搜索型注入
0.42XSS 测试#
反射型 XSS
存储型 XSS
DOM 型 XSS
命令执行测试
0.5 回退模块测试#
回退测试
0.6 验证码机制测试#
验证码暴力破解测试
验证码重复使用测试
验证码客户端回显测试
验证码绕过测试
验证码自动识别测试
0.7 业务数据安全测试#
商品支付金额篡改测试
商品订购数量篡改测试
前端 JS 限制绕过测试
请求重放测试
业务上限测试
0.8 业务流程乱序测试#
业务流程绕过测试
0.9 密码找回模块测试#
验证码客户端回显测试
验证码暴力破解测试
接口参数账号修改测试
Response 状态值修改测试
Session 覆盖测试
弱 Token 设计缺陷测试
密码找回流程绕过测试
10 业务接口调用模块测试#
接口调用重放测试
接口调用遍历测试
接口调用参数篡改测试
接口未授权访问 / 调用测试
Callback 自定义测试
WebService 测试
实践篇#
0.1 帐号安全测试#
0.1.2 账号密码直接暴露在互联网上#
某企业数据库配置信息泄漏
数千名员工信息泄露
0.1.3 无限制登录任意帐号#
SQL 注入漏洞可绕过登录限制
APP 客户端可以劫持任意帐号
0.1.4 电子邮件账号泄漏事件#
邮件帐号引发的信息泄漏
0.1.5 中间人攻击#
SSL 证书欺骗攻击
SSL 劫持
0.1.6 撞库攻击#
子站存在撞库风险
0.2 密码找回安全案例#
0.2.1 密码找回凭证可被暴力破解#
任意密码修改
0.2.2 密码找回凭证直接返回给客户端#
密码找回凭证暴露在链接中
加密验证码字符串返回给客户端
网页源码中隐藏着密保答案
短信验证码返回给客户端
0.2.3 密码重置链接存在弱 Token#
使用时间戳的 MD5 做为密码重置 Token
使用服务器时间做为密码重置 Token
0.2.4 密码重置凭证与用户账号关联不严#
使用短信验证码找回密码
使用邮箱 Token 找回密码
0.2.5 重新绑定用户手机或邮箱#
重新绑定用户手机
重新绑定用户邮箱
0.2.5 服务端验证逻辑缺陷#
删除参数绕过验证
邮箱地址可被操控
身份验证步骤可被绕过
0.2.7 在本地验证服务端的返回信息#
修改返回包绕过验证
0.2.8 注册覆盖#
已存在用户可被重复注册
0.2.9Session 覆盖#
通过 Session 覆盖方式重置他人密码
0.3 越权访问安全案例#
0.3.1 平行越权#
系统用户可越权查看其他用户个人信息
网站用户可越权查看或修改其他用户信息
普通用户可越权查看其他用户信息
0.3.2 垂直越权#
普通用户权限越权提升为系统权限
后台可越权添加管理员帐号
低权限用户可越权修改超级管理员配置信息
通过修改用户对应菜单类别可提升权限
0.4OAuth2.0 安全案例#
CSRF 漏洞导致绑定劫持
某社区劫持授权
0.5 在线支付安全案例总结#
某快餐连锁官网订单金额篡改
某网上商城订单数量篡改
某服务器供应商平台订单请求重放测试
某培训机构官网订单其他参数干扰测试