常见测试点


# 常见测试点

# 验证码相关

检查项 描述 操作步骤
验证码爆破 1.是否容易识别 2.错误后是否会更新验证码 验证码识别:
1. 查看验证码中的内容是否一眼就可辨别
2. 截图验证码去验证码识别的网站进行识别,是否能识别
验证码更新:
1. 输入错误的验证码后提交,是否提示验证码错误,且验证码刷新
2. 输入的用户名或密码错误后,验证码是否刷新
3. 页面刷新时,验证码是否刷新
验证码可重复使用 是否存在验证码可使用多次 1. 输入的用户名和密码错误后,重新输入时使用之前的验证码提交数据,是否可以提交数据
2. 登录成功后,注销重新登录时,使用之前的验证码,是否可以登录
后端校验验证码 验证码是否可被绕过 1. 直接使用接口工具,传入用户名和密码,不传入验证码,直接登录,查看后端是否检验验证码
验证码有效期 验证码是否有有效期 1. 发送验证码成功后,一定时间后,是否会失效过期
2. 使用该失效的验证码进行登录是否能登录成功
验证码内容在返回数据中 请求接口中是否返回了验证码信息 1. 使用发送验证码接口,发送验证码
2. 看接口返回的数据中是否有验证码相关的信息
验证码是否设置上限 短信验证码发送是否有上限 1. 频繁发送短信验证码,是否有限制

# 密码相关

检查项 描述 操作步骤
默认口令 是否存在默认密码,如有,则登录后需要强制修改 1. 登录时使用默认的密码,登录成功后有强制修改密码的提示信息
2. 未在规定时间修改密码后,不能使用之前默认的密码登录
弱口令 密码强度不足 1. 设置密码时是否可以包含数字、大小写字母、特殊字符等
2. 密码长度是否不小于 8 位
密码加密 提交数据时,密码是否加密传输 1. 提交数据时,接口抓包,看传的密码参数是否加密
密码加密存储 数据库中密码是否以加密的形式存储 1. 可以查看用户表中所存储的密码是否加密
密码重复使用 新旧密码是否重复 1. 修改密码时,输入之前旧的密码,是否有提示信息提示不能与旧的密码一致
密码锁定 密码错误达限后锁定 1. 输入的密码错误达上限之后,重新再输入时提示密码被锁定,XX 后在试的提示信息
2. 已过锁定的时间,重新输入密码时是否能正常输入
密码可复制 密码框是否不允许复制粘贴 1. 输入在密码框中的密码,是否能被复制
2. 是否复制内容在密码框中进行粘贴

# 登录相关

检查项 描述 操作步骤
登录失败 登录失败的提示是否模糊 1. 登录失败时,提示信息是否模糊,如:用户名或密码错误
记住密码 登录成功后记住密码 1. 登录成功后,注销重新登录时,是否记住之前输入的密码
cookie 或 token 过期 授权的 cookie或 token 过期 1. cookie 或 token 过期后,访问需要授权的页面是否跳转到登录页
2. 使用接口工具,使用之前已过期的 token 进行登录,是否登录失败
3. 登录成功后,修改本地缓存中的 token 信息,使用已过期的,刷新页面是否会跳转至登录页
生成的 token 或cookie 是否有规律 1. 多次登录后,查看接口返回的 token 或 cookie 数据是否存在一定的规律,防止伪造

# 权限相关

检查项 描述 操作步骤
越权访问 是否存在越权获取非本账号(权限,角色)的数据 1. 账户 A 和 B 的权限不一致,使用 A 账户登录,是否可以查看 B 用户中的数据
权限越界 是否存在可获取高级别的权限角色 1. 使用低级别的账号登录
2. 在浏览器中输入高级别账号可访问的页面,是否能访问,是否有提示权限不足
列目录或资源文件漏洞 是否存在可以访问在网页上访问到服务器的目录和文件
未授权访问 是否存在可访问未授权的接口(无token) 1. 无token时,访问需要token的接口,是否不能访问,提示没有登录
使用其他账户的token访问 小程序的token 是否可以登录管理后台 1. 小程序登录后,复制 token
2. 使用 Burp Suite 安全工具或抓包工具 fiddler 拦截登录接口,伪造返回数据,将小程序端中获得的 token 放在接口返回的数据中
3. 放开接口,正常登录,看是否能正常登录成功

# 文件上传

检查项 描述 操作步骤
上传文件漏洞 是否存在可上传恶意修改文件头的文件
越权下载文件漏洞 是否存在可下载权限以外的文件 1. 登录成功后,使用当前用户的权限,下载不在权限范围内的文件,是否能正常下载
检查文件类型 前后端是否都校验文件类型 1. 上传文件时,使用抓包工具抓取上传的接口,进行断点,修改文件的类型后,发送,后端是否校验文件类型
2. 使用抓包工具或安全工具,拦截接口,将 content-type 的类型修改为其他的类型,看前端是否能上传相应类型的文件
3. 修改文件的类型为限制的类型,上传,上传成功后是否能正常打开

# 接口相关

检查项 描述 操作步骤
接口加密 接口是否完成验签和数据加密
使用https协议 访问接口是否使用 https 协议传输 1. 接口协议是否使用的是 https 协议,保障安全性
接口防重提交 并发请求接口是否存在重复提交(如新增、报名、预订,下单等) 1. 对一些新增的接口,可使用接口工具对某一个接口设置多个进程同时访问,是否有防重提交限制
接口限流 接口是否设置了限流,防止 DDoS 攻击 1. 可使用工具 Jmeter 或脚本对接口进行大量的访问,是否有限流设置
接口暴露关键信息 url 中是否暴露关键信息,如 id 等 1. url 中是否有明显的关键信息显示,如 userid、订单 id 等
反射性 XSS 攻击 页面输入框是否过滤特殊字符 1. url后面加上一些语句,如:;是否有弹窗 2. 系统中可输入的地方输入上述类似的内容后提交,查看是否会有弹窗
CSRF跨站请求伪造 请求头中的 Referer 字段是否被验证 1. 使用抓包工具抓取一个正常的请求包,去掉请求头中的Referer 中的值,重新提交,是否有效
2. 查看不同接口请求,Referer 值是否有边防变动

# 系统服务相关

检查项 描述 操作步骤
服务端口是否默认 常用的服务端口是否使用默认的端口 1. telnet 端口是否修改
2. mysql 是否使用默认端口 3306
3. ssh 是否使用默认 22 端口
一些默认端口是否关闭 一些默认端口且不常用的端口是否关闭 1. 是否关闭远程连接 3389 端口

(完)