安全测试通用用例

作者: 小菠萝测试笔记

阅读需知

这是总结的是一些通用安全测试用例,但安全测试远不如此,这些用例只能算入门!!

漏洞扫描

定义:对系统的URL进行漏洞扫描,扫描系统开放的端口、服务和存在的漏洞

|------------|-----------------------------|-------------------------------------------------------------------|
| 前置条件       | 步骤                          | 结果                                                                |
| 们公司用绿盟扫描器 | 登录扫描器进行WEB扫描                |                                                                   |
|            | 在漏洞扫描中选择WEB扫描,输入待扫描的URL地址   | 查看扫描报告是否有漏洞,其中高风险和中风险漏洞需要修复                                       |
|            | 查看扫描报告是否有漏洞,其中高风险和中风险漏洞需要修复 | 1、确认高风险和中风险漏洞都修复完成 2、修复风险后需注意不要影响系统原先功能的正常性,建议做影响范围的功能回归测试,保证系统正常 |
| 定期检查       | 同一个URL,3个月内扫描一次             |                                                                   |

明文传输

定义:对系统传输过程中的敏感内容是明文\&密文进行检查 系统传输敏感信息场景:登录、注册、支付、修改密码 系统敏感信息:登录密码、支付金额、注册的手机号码、身份证、邮箱等信息

|---------------------|---------------------|
| 步骤                  | 结果                  |
| 对传输敏感信息场景进行抓包       |                     |
| 分析其数据包中的相关敏感字段是否为明文 | 分析其数据包中的相关敏感字段是否为明文 |

越权访问

定义:测试能否通过URL地址获取管理员及其他用户信息 1、出现admin、user、system、pwd等敏感目录的URL地址

如:https://walmon-competition.gz.cvte.cn/competition_api/admin/v1/user/role_user_unit 2、垂直越权场景:当系统存在多个不同权限的管理员时,低权限的管理员不能访问或操作到高权限的管理的资源 3、水平越权场景:当系统存在多个需要登录用户,A用户不能访问B用户的资源

|-----------------------------------------------------------------------------------------------------|
| 步骤                                                                                                  |
| 检查URL是否存在admin/user/system/pwd等敏感目录                                                                 |
| 垂直越权: 1.使用高权限的管理员登录后,访问一些他独有的资源,或者进行一些特权操作,记录下接口信息 2.退出登录后,使用低权限用户登录,重新执行步骤1记录下来的接口,查看是否能够操作成功      |
| 水平越权: 1. 使用A用户登录后,打开A用户所独有的个人资源的URL或者进行一些修改操作,记录下接口信息 2. 退出登录后,使用B用户登录,重新执行步骤1记录下的接口,看是否能够访问或者操作成功。 |

反射性跨站脚本

定义:测试系统是否对输入进行过滤或转移,规避用户通过跨站脚本攻击造成风险

跨站脚本攻击场景:搜索框、输入框、留言、上传文件

|--------------------------------------------------------------------------------------|---------------------------------------|
| 步骤                                                                                   | 结果                                    |
| 在系统的URL地址后面,输入测试语句: \<img src=x onerror=alert(1)\> \<script\>alert("1") \</script\>; | 是否会有弹窗                                |
| 在系统的搜索框、输入框、留言,输入测试语句: 同上                                                            | 像留言、评论、公告等输入内容都会存到数据库 前端查看对应内容时是否会有弹窗 |
| 在上传文件功能中,往需要导入的文件中输入测试语句: 同上                                                         |                                       |

文件上传

定义:测试能否上传木马、病毒、色情图片等恶意图片

|------------------------------------------------------------------------|---------------|
| 步骤                                                                     | 结果            |
| 生成一个测试的恶意文件,如一个txt文档,内容为\<img src=x onerror=alert(1)\> 文件名字最好为英文,如test |               |
| 点击上传功能,抓包拦截上传接口,将上传的文件后缀修改为html文件(访问该html文件)                           | 可正常执行恶意语句,则有错 |

越权文件下载

定义:测试URL中是否包含文件名或文件目录,尝试提交参数值查看是否可下载或读取其他目录的文件内容 文件下载场景:文件下载、文件读取功能 测试url:包含文件名或文件目录的url

|----------------------------------------------------------------------------------------------------|----------------------|
| 步骤                                                                                                 | 结果                   |
| 进行文件下载操作,找到文件下载路径 http://www.example.com/donwload.jsp?filename=test12789.pdf                       |                      |
| 修改下载路径中的文件参数值,检查访问效果 http://www.exbugmpjsp?filename=test.pdf                                       | 如果可以下载修改后的文件,则证明存在漏洞 |
| 修改下载路径,通过../对路径进行跳转尝试下载其他目录下的文件 http://www.example.com/donwload.jsp?filename=../../WEB-INF/web.xml | 如果可以下载web.xm文件,则有bug |

短信/邮箱验证

定义:测试短信、邮箱验证方式是否进行安全设置 触发短信、邮箱验证码验证相关的场景:找回或重置密码、注册、邀请注册、引流活动分享

|-----------------------------------------------|-------------------------------------------------------------|
| 步骤                                            | 结果                                                          |
| 操作密码重置、找回密码等功能,触发跳转到输入手机号或邮箱的页面               |                                                             |
| 输入测试手机号或邮箱,看能否一直连续无间隔 发送短信验证码,造成短信轰炸          | 短信轰炸若存在,及证明存在该漏洞,报BUG 触发短信、邮件发送的前提必须有安全验证(验证码、滑动验证等),防止短信被刷 |
| 如果有对应的验证设置,输入手机号、邮箱,同步开始抓包,查看数据包能否抓取到发送的验证码信息 | 如果可以抓取到,则验证码可以被修改,存在漏洞,报BUG                                 |

鉴权缺失

定义:测试需要登录、鉴权才可操作的系统中可修改资源的相关接口,鉴权是否可靠 测试对象:可以修改资源的接口

|------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|
| 步骤                                                   | 结果                                                                                                                      |
| 定义:测试需要登录、鉴权才可操作的系统中可修改资源的相关接口,鉴权是否可靠 测试对象:可以修改资源的接口 | 1、如果参数都是完全可以被预期的话。即除了鉴权的cookie 外,header中和body表单中的所有参数都可以被事先知道。那么表明存在漏洞。报BUG 2、如果header或者body中有随机的token或者需要验证码之类的,则不存在漏洞 |
| 抓包、分析接口的参数,观察鉴权参数,如cookie 或者access token等            | 1、如果观察cookie 或者access token,可掌握其规律,如为某固定单一不变的值或使用用户ID作为cookie 的值,会话控制信息可以被猜测,鉴权不可靠,表明存在漏洞。报BUG                          |

密码健壮性

定义:测试密码、验证码验证的方式是否可靠,是否可以被暴力猜测直至命中

|------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 步骤                                                   | 结果                                                                                                                                                                                       |
| 操作输入密码、验证码的场景,使用抓包工具,修改接口中的密码、验证码,多次尝试输入错误的验证码       | 可以被暴力猜测直至命中,则存在漏洞                                                                                                                                                                        |
| 使用工具重复请求接口(类似登录接口)多次(密码错误、验证码错误情况下、100次以上            | 使用工具重复请求接口(类似登录接口)多次(密码错误、验证码错误情况下、100次以上                                                                                                                                                |
| 检查密码设置、验证码生成的业务逻辑设计                                  | 1、若设置密码时就未考虑密码复杂程度,允许用户设置弱密码 (如设置账号必须满足数字+字母+特殊字符,8位以上。规避123456、aaaaaaa、qwerty等弱密码),用户账号安全可能存在漏洞,可反馈给研发进行整改,推进账号安全 2、若验证码生成逻辑简单,或者结果集合小,或为简单的图片验证,则可能存在漏洞,可反馈开发进行整改,尽量使用更安全的验证设计(如行为验证 ) |
| 对密码找回及修改密码功能,检查密码是否有权限管控,只能修改或设置自己的密码,规避通过该功能修改别人的密码 | 若可通过密码找回、修改密码、账号申诉等功能,修改其他人的账号密码,则存在漏洞,报BUG                                                                                                                                              |

数据安全

定义:检查系统中敏感数据的存储是否安全 敏感数据:密码、身份证、家庭住址、银行卡号、手机号、真实姓名

|----------------------------------------------------------------------------------------|
| 步骤                                                                                     |
| 检查敏感数据是否加密存储,检查对应的数据表(mysql、redis)数据记录,防止拖库后信息泄露                                       |
| 检查敏感数据在操作界面展示上是否脱敏 如:密码显示隐藏选项,手机号、身份证仅显示首尾等134\*\*\*\*4250,220\*\*\*\*\*\*\*\*\*\*2129 |
| 检查数字设置安全,是否限制输入负数或超大数额                                                                 |

原文创作:小菠萝测试笔记

原文链接:https://www.cnblogs.com/poloyy/p/12101503.html

文章列表

更多推荐

更多
  • 精通Ansible中文-十三、网络自动化 技术要求,可用于网络管理,处理多种设备类型,使用命令行界面命令模块,用 Ansible 配置 Arista EOS 开关,用 Ansible 配置积云网络交换机,最佳实践,问题,跨平台支持,配置 Ansible 性,备份、恢复和版本控制
    Apache CN

  • 精通Ansible中文-第一部分:Ansible 的概述和基础 在本节中,我们将探讨 Ansible 的工作原理,并为开发行动手册和工作流奠定坚实的基础。如果您熟悉旧的 Ansible 2.x 版本,我们还将检查并解释您将发现的变化。本节包括以下章节: [第一章](01.h
    Apache CN

  • 精通Ansible中文-第二部分:编写和故障排除 Ansible 行动手册 在本节中,您将深入了解如何编写健壮、通用的行动手册,适合在各种使用情形和环境中使用。本节包括以下章节: [第六章](06.html_idTextAnchor123)开启 Jinja 模板的力量[
    Apache CN

  • 精通Ansible中文-第三部分:使用 Ansible 的编排 在本节中,我们将了解 Ansible 在现实世界中协调和管理系统和服务的用法,无论是在内部还是在云中。本节包括以下章节: [第 11 章](11.html_idTextAnchor210)通过滚动部署最大
    Apache CN

  • 精通Ansible中文-十二、基础设施供应 技术要求,管理内部云基础架构,管理公共云基础架构,与 Docker 容器交互,用易拉罐建造集装箱,问题,创建服务器,使用 OpenStack 库存来源,构建映像,构建没有 Dockerfile 的容器,码头工人库存,启动虚拟服务器,添加
    Apache CN

  • 精通Ansible中文-九、故障排除 技术要求,行动手册记录和详细程度,可变内省,调试代码执行,问题,冗长,测井,可变子元素,剧本调试,调试本地代码,subelemonts 与 python 对象方法,调试库存代码,调试剧本代码,调试执行器代码,调试远程代码,调试操作插件,
    Apache CN

  • 精通Ansible中文-十、扩展 Ansible 技术要求,开发模块,开发插件,开发动态库存插件,为可实施的项目做出贡献,问题,基本模块构造,定制模块,示例–简单模块,连接型插件,外壳插件,查找插件,其插件,事实缓存插件,过滤插件,回调插件,动作插件,分发插件,列出主机,列出主机变量,
    Apache CN

  • 精通Ansible中文-十一、通过滚动部署最大限度地减少停机时间 技术要求,就地升级,扩张和收缩,快速失败,最大限度地减少中断,序列化单个任务,问题,任何 _ 错误 _ 致命选项,最大失败百分比选项,强制处理程序,延迟中断,只运行一次破坏性任务, Ansible 非常适合在实时服务环境中升级或部
    Apache CN

  • 精通Ansible中文-七、控制任务条件 技术要求,定义失败,定义变更,错误恢复,循环迭代任务,问题,忽略错误,定义错误条件,命令族的特殊处理,抑制变化,使用救援段,使用始终部分,处理不可靠的环境, Ansible 是一个系统,用于在一台或多台主机上运行任务,并确保操作员
    Apache CN

  • 精通Ansible中文-八、使用角色组合可重用的 Ansible 内容 技术要求,任务、处理程序、变量和剧本包含概念,角色(结构、默认值和依赖关系),问题,包括任务,带有循环的任务包含,包括经手人,包括变量,包括剧本,角色结构,角色依赖关系,角色应用,角色分享,将变量值传递给包含的任务,将复杂数据传递给包含
    Apache CN

  • 近期文章

    更多
    文章目录

      推荐作者

      更多