软件测试之简单基础的安全测试方法(另外包含软测面试题库)

文章目录

  • 前言
  • 安全测试是什么
    • 简单基础的安全测试方法
    • 密码安全
    • 操作权限验证
    • SQL注入
    • xss脚本攻击
    • 文件上传
    • 下载安全
    • 漏洞扫描
      • Web扫描
      • APP扫描
  • 面试题库(仅参考)
  • 参考目录


前言

阅读本文前请注意最后编辑时间,文章内容可能与目前最新的技术发展情况相去甚远。欢迎各位评论与私信,指出错误或是进行交流等。


安全测试是什么

安全测试是一种软件测试,可发现软件应用程序中的漏洞,威胁,风险并防止来自入侵者的恶意攻击。 安全测试的目的是确定软件系统的所有可能漏洞和弱点,这些漏洞和弱点可能导致信息,收入损失,组织雇员或外部人员的声誉受损。

安全测试的目标是识别系统中的威胁并衡量其潜在漏洞,以使系统不会停止运行或被利用。 它还有助于检测系统中所有可能的安全风险,并帮助开发人员通过编码解决这些问题。

简单基础的安全测试方法

1.密码安全
2.操作权限验证
3.sql注入;
4.xss脚本攻击;
5.运用扫描工具appscan扫描web系统。
6.扫描app的一般用腾讯wetest 等平台测试。

密码安全

  • 测试前端(web)时我们首先检查一下用户的敏感信息有没有进行加密显示
  • 通过Fiddle抓包工具检查一下用户的敏感信息有没有进行加密后传输如:用户密码,相应的银行卡,个人信息等,再到日志中搜索关键信息,能搜索到,就泄密,存在安全漏洞。
  • 发送请求的数据篡改例如:打开fiddler工具,设置过滤器,设置断点把商城里的支付订单的1000完金额修改成1块钱,再放行发送数据,看是否,支付1块钱,订单支付成功,如果成功则是bug,预期结果是支付金额不对才行。
  • 密码输入错误次数超限会锁定账号
  • 除了账号密码,需要图形验证码或短信验证码
  • 用户名不存在和密码错误需提示用户名或密码错误
  • 密码传输非明文传输,且加密类型不能太简单(如仅通过md5加密),日志系统中也不能将明文密码打印出来
  • 密码加密存储
  • 用系统默认账号admin/123456、admin/admin、root/123456等是否可以登录系统

操作权限验证

访问控制是指用户对系统访问的权限控制,通常包括水平权限和垂直权限。访问控制问题是所有业务系统都可能产生的逻辑类漏洞

水平越权:同一权限(角色)级别的用户之间所产生的问题,如 A 用户可以未授权访问 B 用户的数据等。
垂直越权:不同权限(角色)级别的用户之间所产生的问题,如普通用户可未授权进行管理操作,未登录用户可以访问需授权应用等。

以下是一些权限测试点(仅供参考):
1.通过页面创建不同的角色账号,并且分配角色权限模块,在页面登录不同的账号去确认账号的权限
2.一次只给用户单独设置一个权限,设置之后检查该权限是否生效
3.给用户不设置任何权限,设置之后检查该用户能否使用系统
4.给用户设置全部权限,设置之后检查所有权限是否生效
5.给用户设置部分权限,设置之后检查部分权限是否生效
6.用户正在进行相关的操作,管理员为该用户添加其他权限,是否能进行
7.用户正在进行相关操作,管理员为该用户取消该权限,是否能进行
8.登录用户能否修改自己的权限
9.不给用户授权,是否允许登录
10.只有修改或编辑自己信息的权限时,能否同时修改或编辑其他用户数据的权限
11.用户能否同时属于多个组,各个组的权限能否交叉

  1. 只给用户单独设置一个权限,设置之后检查该权限是否生效
    2.给用户不设置任何权限,设置之后检查该用户能否使用系统
    3.给用户设置全部权限,设置之后检查所有权限是否生效
    4.给用户设置部分权限,设置后检查部分权限是否生效
    5.用户正值进行相关操作,管理员为该用户添加其他权限,是否能进行
    6.用户正在进行相关操作,管理员为该用户取消该权限,是否能进行
    7.设置权限的同时,是否有对应的权限设置日志
    8.对权限树的父子节点关联关系进行测试
    ①选中父权限,检查是否所有的子权限默认被选中
    ②只选择部分子权限,检查对应的父权限师父被选中
    ③删除部分子权限(没有删除部分子权限),此时父权限应该还是选中状态
    ④删除全部子权限,此时父权限应该自动被取消
    9.用户能否根据自己的需要对权限信息进行维护
  2. 除管理员外,用户不能给自己进行权限的设置
  3. 权限数据在数据库中存储时,建议进行加密处理,防止有恶意用户共破数据库后,
    可以给自己任意权限,以给系统造成损失。
    12.赋予该用户权限后,系统界面展示所拥有的权限,并验证权限是否正确
    13.重新注册系统变工登录身份后再登录,检查权限是否正确(检查账号信息混乱)
    14.在有角色管理的情况下,删除包含用户的角色,是否能正确处理
  4. 不同权限登录同一个系统,权限范围是否正常
    16.覆盖系统的所有权限测试
    17.能否添加信息为空的用户(其中包括空用户名及空口令、空用户名非控口令、非空用户名及空口令)
    18.能否添加长用户名及长口令,如果允许,新用户能否正确登录
    19.系统是否允许删除系统管理员这一特殊用户或修改系统管理员口令删除或修改后系统的实际情况
    20.添加用户(用户名、口令):
    ①口令相同,用户名不同
    ②口令相同,用户名相同
    ③口令不同,用户名相同
    ④口令不同,用户名相同
    21.用户登录能否修改本人或其他人的信息,删除本人(高权限对低权限操作,低权限操作低权限)
    22.修改用户信息(包括口令、权限、基本信息)对其他模块的影响
    23.对修改后的用户信息和已经存在的用户信息相同(是否支持信息相重)
    24.不给用户授权,是否允许登录
    25.修改某些设置时,是否会影响具有上级权限及相同权限人员
    26.勾选多项权限时 是否产生了新的权限 或减少了某些权限
    27.只有修改或编辑自己信息的权限时,能否同时修改或编辑其他用户数据的权限
    28.用户能否同时属于多个组,各个组的权限能否交叉;
    29.删除后重新添加的用户是否具有以前的权限;更改用户各项属性(包括权限)看对权限是否有影响。
    30.使用不同权限登录,测试各自权限规定内的功能能够实现
    31.在不同的浏览器或OS中同时分别登录,测试各自权限内功能能否实现
    32.增删改查测试:管理员权限能够增删改查自己/同级/下级的用户设置,普通权限能够删除修改管理员和其他普通权限等级用户的设置
    以上增删改查的操作能否实现相应改动的权限功能,并且查看是否会影响上级权限及相同权限等级的设置
    33.如果有涉及权限划分,那就测试不同权限的用户权限是否一致;修改后的权限再次检查是否回显成功
    34.最后测试关于不同权限用户对数据库的权限控制,如对数据库控制权限的缺省设置的正确性、对数据的增删改查、对不同字段的控制权限

SQL注入

关于SQL注入的博客请参考:https://blog.csdn.net/qq_39635178/article/details/148613215

xss脚本攻击

关于 xss脚本攻击内容可参考:https://www.bilibili.com/video/BV1hY411a7P5
https://blog.csdn.net/qq_64177395/article/details/141260861
https://blog.csdn.net/leiwuhen92/article/details/133294533
https://blog.csdn.net/npc88888/article/details/136454472
https://blog.csdn.net/m0_74249600/article/details/141168141
https://blog.csdn.net/fd2025/article/details/124425225

可通过正向的XSS脚本攻击,以及所给出的防御手段,或者通过白盒的方式 查看代码是否防御了XSS脚本攻击。具体如何从代码层面防御,可以自行查阅资料。

文件上传

(1)上传可执行文件(exe文件)-----------------根据需求而定
(2)上传常见的木马文件------------------------提示不能上传
(3)上传时服务器空间已满----------------------有提示

下载安全

(1)文件下载是否可以通过修改路径下载其它文件
(2)需权限下载的文件是否可以绕过鉴权直接访问链接进行文件下载

漏洞扫描

Web扫描

AppScan是一款商业化的web安全扫描工具,web扫描领域十分受欢迎

【安全测试】AppScan——下载安装与使用教程(图文详解)
[安全测试】appscan下载与安装
Appscan 的安装与使用
漏扫工具Appscan使用简介
安全测试:AppScan扫描工具教程
漏扫工具Appscan使用(非常详细)

通过appscan扫描工具去扫描,我们一般是这样操作的;
1.启动软件进入主界面—>选择创建新的扫描:
2.在弹出的新建扫描对话框中选择常规扫描:
3.在弹出的扫描配置向导对话框中选择AppScan(自动或手动),点击下一步:
4.在此页面中填写需要扫描系统的网址,点击下一步:
5.选择登陆方式为记录,点击下一步:
6完成系统登录操作后,关闭浏览器,选择登录管理中的“详细信息”;
7.在“详细信息”中,取消“激活会话中的检测”,同时在“登录会话标识中”,对变量参数值进行跟踪以确保参数的正确处理而获得系统访问权限;
8.把密码修改页面URL、用户权限删除URL等页面添加至排除测试范围,防止Appscan的请求产生相应影响(防止Appscan修改密码或删除用户帐号);
9.在“自动表单填充”中,填入用户名和密码参数,并填写参数值,其余不做修;
10.如果测试过程中,应用服务出现性能响应过慢的问题,适当调整测试线程数为2~5;
11.测试策略选择为“严重性”进行过滤只勾选关注的严重性级别,把“高”、“中”和“低”选上。
13.点击确定按钮,结束扫描配置工作;
14.点击扫描按钮,选择“仅探索”,Appscan开始执行探索工作;
15.探索自动结束后,点击“手动探索”按钮,此时,在弹出的IE浏览器窗口中登录系统,手工的任意访问系统页面(1~10个),关闭浏览器;
16.在弹出的参数添加窗口中,点击“确定按钮”;
17.点击扫描按钮,选择“完全扫描”,Appscan开始执行测试工作;
18.测试执行结束后,点击报告按钮,选择关注的测试结果信息,勾选“报告内容”里的所有勾选;
19.“保存报告”,保存类型建议选择为html;然后分析报告。

APP扫描

APP安全测试实操:https://blog.csdn.net/qq_43775006/article/details/129322994
WeTest小程序渗透测试
移动端App安全扫描工具MobSF安装及入门使用

面试题库(仅参考)

https://blog.csdn.net/weixin_45912307/article/details/108661479
https://blog.csdn.net/weixin_45912307/article/details/108809185
https://blog.csdn.net/weixin_45912307/article/details/109457138
https://blog.csdn.net/weixin_45912307/article/details/109459134
https://blog.csdn.net/weixin_45912307/article/details/109481695
https://blog.csdn.net/weixin_45912307/article/details/109500952
https://blog.csdn.net/weixin_45912307/article/details/109501092
https://blog.csdn.net/weixin_45912307/article/details/109523627
https://blog.csdn.net/weixin_45912307/article/details/109523627
https://blog.csdn.net/weixin_45912307/article/details/109523632
https://blog.csdn.net/weixin_45912307/article/details/109438188
https://blog.csdn.net/hong521520/article/details/125717813
https://blog.csdn.net/2301_80119299/article/details/143802088
https://blog.csdn.net/2401_86943461/article/details/143774658
https://blog.csdn.net/huace3740/article/details/140217118
https://blog.csdn.net/u012111923/article/details/138575613
https://blog.csdn.net/2301_77645834/article/details/144312281
https://blog.csdn.net/nhb687095/article/details/140064091
https://blog.csdn.net/2201_76100073/article/details/147231003


参考目录

https://blog.csdn.net/karsa__/article/details/111934825
https://blog.csdn.net/m0_64983639/article/details/128790871

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/909381.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LCEL:LangChain 表达式语言详解与测试工程师的实践指南

引言 在 AI 应用开发中,如何高效地组合多个步骤(如提示模板、模型调用、输出解析)并优化执行流程,是开发者和测试工程师共同面临的挑战。LangChain Expression Language (LCEL) 作为 LangChain 的核心功能之一,提供了…

LeetCode面试经典150题—旋转数组—LeetCode189

原题请见:Leetcode189-旋转数组 1、题目描述 2、题目分析 首先容易想到的最简单的方案,是算出来移动K步之后,新数组的每一个坐标与原坐标的映射关系,然后根据映射关系放到一个全新的数组,再把新数组的值赋给原数组。…

2.5 Rviz使用教程

新建终端,键入命令 roslaunch wpr_simulation wpb_simple.launch 再新建终端,键入命令 rviz修改Fix Frame 为 base_footprint 点击add之后选择RobotModel 再增加一个LaserScan 选择激光雷达话题 可视化效果 配置的两种方法 1.在Gazebo运行的基础上&…

基于SpringBoot+JSP开发的招投标采购信息平台

角色: 管理员、普通用户 技术: 后端:Spring Boot Mybatis-Plus MySQL 前端:JSP 核心功能: 该平台是一个用于管理投标和招标信息的系统,主要提供信息发布、用户管理和交易管理等核心功能。 功能介绍…

【项目实训#10】HarmonyOS API文档RAG检索系统后端实现

【项目实训#10】HarmonyOS API文档RAG检索系统后端实现 文章目录 【项目实训#10】HarmonyOS API文档RAG检索系统后端实现一、背景简介二、RAG技术原理与架构设计2.1 RAG技术原理回顾与提升2.2 系统架构设计 三、RAG引擎核心实现3.1 RAG引擎初始化3.2 查询向量化3.3 文档检索实现…

专注于PLC数据采集MES交互解决方案

专注于PLC数据采集MES交互解决方案 前篇文章我们讲到当下的制造行业在工业4.0的大趋势下,MES系统成为现场制造过程管制的有利武器,更是质量追踪的一把好工具。我们要知道产品在各个加工环节的结果。除了人工在各个制造环节录入制造结果外,更…

微信小程序实现文字逐行动画效果渲染显示

1. 微信小程序实现文字逐行动画效果渲染显示 在微信小程序开发中,为了文字逐行动画效果渲染可以通过JavaScript 和 WXML 的动态数据绑定来实现,实现文字逐行显示的效果,同时结合 CSS 动画提升视觉体验。   如果需要更复杂的动画效果(如缩放、移动等),可以使用微信小程序…

Redux 原理深度剖析

1. Redux 实现 定义 Action 和 Reducer 类型,为了简便,先用JavaScript来演示。 1.1. 定义Action和Reducer类型 // 定义 Action 类型 /*** typedef {Object} Action* property {string} type*/// 定义 Reducer 类型 /*** callback Reducer* param {any…

【LangChain】4 基于文档的问答

对于给定的文档, 比如从PDF、网页、公司主页中提取构建的内部文档集合,我们可以使用大语言模型来回答关于这些文档内容的问题,以帮助用户更有效地获取和使用他们所需要的信息。这种方式非常有效且灵活地适用于实际应用场景,因为它不仅仅利用大…

基于Netty的TCP Server端和Client端解决正向隔离网闸数据透传问题

背景 因为安装了正向隔离网闸&#xff0c;导致数据传输的时候仅支持TCP协议和UDP协议&#xff0c;因此需要开发TCP Client和Server服务来将数据透传&#xff0c;当前环境是获取的数据并将数据转发到kafka 1.引入依赖 <dependency><groupId>io.netty</groupId>…

Cursor链接远程服务器实现项目部署

想获取更多高质量的Java技术文章&#xff1f;欢迎访问Java技术小馆官网&#xff0c;持续更新优质内容&#xff0c;助力技术成长 技术小馆官网 在软件开发过程中&#xff0c;远程服务器开发是一种常见的工作模式。通过远程连接服务器进行代码编写和环境配置&#xff0c;可以充分…

Redis集群模式之Redis Cluster(3)

上篇文章我们讲解了Redis Cluster的状态监测与恢复过程&#xff0c;这篇文章我们来进行Redis Cluster内容的收尾&#xff0c;将其扩容和缩容的过程进行讲解&#xff0c;并分析RedisCluster的优缺点。 扩容和缩容 当集群中出现容量限制或者其他一些原因需要扩容时&#xff0c;R…

Cursor ReAct Agent技术架构

一、架构核心思想 “零熵操作交给AI”理念 Cursor通过ReAct模式实现编程中重复性工作的自动化&#xff1a; 零熵操作&#xff1a;机械性任务&#xff08;代码补全/格式化/重构/语法修复/导入管理&#xff09; Tab-away机制&#xff1a;一键接受AI建议&#xff0c;保持思维连续…

国学IP行业实战洞察:聚焦创客匠人,解锁创始人IP与知识变现新路径

国学行业正经历“文化价值”与“商业变现”的深度融合&#xff0c;2023年市场规模突破千亿大关&#xff0c;年增速超 10%。在“IP化数字化”浪潮中&#xff0c;创客匠人作为垂直领域技术服务商&#xff0c;以全链路工具矩阵为支点&#xff0c;撬动国学创始人IP从内容生产到商业…

R语言开发入门完整指南

R语言开发入门完整指南 目录 R语言简介环境配置包管理基本语法数据类型和结构数据操作统计分析数据可视化编程结构实用技巧学习资源 R语言简介 R是一种专为统计计算和图形设计的编程语言&#xff0c;广泛应用于数据分析、统计建模、机器学习和数据可视化。R语言具有以下特点…

ObservedV2装饰器和Trace装饰器

为了对嵌套类对象属性变化直接观测&#xff0c;华为提供了ObservedV2和Trace装饰器。这两个装饰器必须搭配使用&#xff0c;单独使用任何一个都不会起任何作用&#xff1b;在继承类中也可监测&#xff1b;ObservedV2的类实例目前不支持使用JSON.stringify进行序列化&#xff0c…

6月计算机新书:深度学习、大模型、DeepSeek

六月&#xff0c;这个充满活力与希望的季节&#xff0c;三本重磅新书《深度学习&#xff1a;基础与概念》、《MCP极简开发&#xff1a;轻松打造高效智能体》与《大模型应用开发&#xff1a;RAG实战课》翩然而至&#xff0c;为我们开启了一场探索科技前沿的奇妙之旅。一起来看详…

扁平风格职场商务通用PPT模版分享

扁平风格PPT模版&#xff0c;创意卡通扁平化通用PPT模版&#xff0c;创意扁平化励志论文答辩PPT模版&#xff0c;卡通职场商务PPT模版&#xff0c;职场培训&#xff0c;项目策划&#xff0c;工作总结类PPT模版&#xff0c;互联网电子商务PPT模版 扁平风格职场商务通用PPT模版分…

jupyter内核崩溃

最近在做用k-mer评估基因组规模的任务&#xff0c;其中一个局部程序&#xff0c;想偷懒&#xff0c;直接在jupyter中跑了下结果&#xff0c;想看看这一小步处理如何&#xff0c;结果没想到内核崩溃了&#xff01; 这一步我的草稿代码如下&#xff1a; import pandas as pd imp…

Java企业技术趋势分析:AI应用的落地实践与未来展望

Java企业技术趋势分析&#xff1a;AI应用的落地实践与未来展望 开篇&#xff1a;技术趋势与市场需求 在当前快速发展的数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;已经成为推动企业创新和效率提升的关键力量。Java作为企业级应用开发的主流语言&#xff0c;正…