2024做安全测试必须要知道的几种方法!

前言

安全性测试(Security Testing)是指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程,其主要目的是查找软件自身程序设计中存在的安全隐患,并检查应用程序对非法侵入的防范能力,安全指标不同,测试策略也不同。

但安全是相对的,安全性测试并不能最终证明应用程序是安全的,而只能验证所设立策略的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。例如,测试应用软件在防止非授权的内部或外部用户的访问或故意破坏等情况时的运作。

软件安全是软件领域中一个重要的子领域,系统安全性测试包括应用程序和操作系统两个方面的安全性。而系统安全性又包括两个方面的测试:

  • 一是:软件漏洞,设计上的缺陷或程序问题;

  • 二是:数据库的安全性,这也是系统安全性的核心;

安全测试的常用方法有以下几种:

一、静态代码检查

静态代码检查主要是通过代码走读的方式对源代码的安全性进行测试,常用的代码检查方法有数据流、控制流、信息流等,通过这些测试方法与安全规则库进行匹配,进而发现潜在的安全漏洞。静态代码检查方法主要是在编码阶段进行测试,尽可能早地发现安全性问题。

二、动态渗透测试

动态渗透测试法主要是借助工具或手工来模拟黑客的输入,对应用程序进行安全性测试,进而发现系统中的安全性问题。动态渗透测试一般在系统测试阶段进行,但覆盖率较低,因为在测试过程中很难覆盖到所有的可能性,只能是尽量提供更多的测试数据来达到较高的覆盖率。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

三、扫描程序中的数据

系统的安全性强调,在程序运行过程中数据必须是安全的,不能遭到破坏,否则会导致缓冲区溢出的攻击。数据扫描主要是对内存进行测试,尽量发现诸如缓冲区溢出之类的漏洞,这也是静态代码检查和动态渗透测试很难测试到的。

图片

从用户认证、网络、数据库和Web 四个角度进行安全性测试,需要注意以下几个方面:

1)用户认证安全性测试

  • 系统中不同用户权限设置;

  • 系统中用户是否出现冲突;

  • 系统不应该因用户权限改变而造成混乱;

  • 系统用户密码是否加密、是否可复制;

  • 是否可以通过绝对途径登录系统;

  • 用户退出后是否删除其登录时的相关信息;

  • 是否可以使用退出键而不通过输入口令进入系统;

2)网络安全性测试

  • 防护措施是否正确装配完成,系统补丁是否正确;

  • 非授权攻击,检查防护策略的正确性;

  • 采用网络漏洞工具检查系统相关漏洞(常用的两款工具为NBSI 和IPhackerIP);

  • 采集木马工具,检查木马情况;

  • 采用各种防外挂工具检查程序外挂漏洞;

3)数据库安全性测试

  • 数据库是否具备备份和恢复的功能;

  • 是否对数据进行加密;

  • 是否有安全日志文件;

  • 无关IP 禁止访问;

  • 用户密码使用强口令;

  • 不同用户赋予不同权限;

  • 是否使用视图和存储过程;

4)Web安全性测试

  • 部署与基础结构;

  • 输入验证;

  • 身份验证;

  • 授权;

  • 配置管理;

  • 敏感数据;

  • 会话管理;

  • 加密;

  • 参数操作;

  • 异常管理;

  • 审核和日志记录;

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

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

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

相关文章

打包conda环境的两种方法:conda env export和Conda-Pack

打包conda环境的两种方法:conda env export和Conda-Pack 搭建项目环境可能是整个开发过程中最让人头疼的部分了。如何把我们辛辛苦苦搭建的环境打包起来,万一环境崩了还能迅速恢复,或者让别人能轻松地复制同样的设置呢? 今天&am…

微软中国 AI 团队搬至美国?可解决家属签证

多位网友爆料称,微软中国数百名员工收到公司邮件,询问是否愿意迁移至美国、澳大利亚、爱尔兰等国家工作。公司将负责亲属签证问题,以Azure云平台的AI团队为主,员工需要在6月7日前给出答复。 有微软员工表示情况属实,这…

超声波清洗机哪家好一点?四款超一流超声波清洗机大盘点

在追求极致清洁和维护精密工具、设备及珍贵物品的时代,超声波清洗机显得尤为重要。不仅因其高效、快速的清洁效果,更因其能够触及传统手工清洁所不能及的微小缝隙。无论你是珠宝设计师、机械工程师、还是热爱生活的普通家庭用户,超声波清洗机…

GO语言核心30讲 实战与应用 (io包,bufio包,os包,网络服务,http,性能分析)

原站地址:Go语言核心36讲_Golang_Go语言-极客时间 一、io包中的接口和工具 1. strings.Builder、strings.Reader 和 bytes.Buffer 这些类型实现了 io 包的很多接口,目的是什么? 是为了提高不同程序实体之间的互操作性。 程序实体是指比如网…

43. 字符串相乘

题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 **注意:**不能使用任何内置的 BigInteger 库或直接将输入转换为整数。 示例 1: 输入: num1 "2", num2 &qu…

python:functools.partial和functools.wraps使用

python:functools.partial和functools.wraps使用 1 前言 python内置的functools模块,提供了一些非常好用的类或者方法,其中functools.partial和functools.wraps的使用频率较高,本文将针对其分析使用。 2 使用 2.1 functools.p…

好易点 | 上海厨卫展首秀人气爆棚,智能阳台备受瞩目

2024年5月14日,第28届中国国际厨房、卫浴设施展览会(简称:上海厨卫展)在上海盛大开幕。作为厨卫行业的年度盛事,本次展会不仅汇聚了众多国内外知名品牌,更成为了展示前沿五金厨卫臻品的重要平台。其中&…

k8s 二进制安装 详细安装步骤

目录 一 实验环境 二 操作系统初始化配置(所有机器) 1,关闭防火墙 2,关闭selinux 3,关闭swap 4, 根据规划设置主机名 5, 做域名映射 6,调整内核参数 7, 时间同步 三 部署 dock…

图数据库原理在构建实体血缘关系图中的应用与实践

在当今复杂的数据驱动型应用中,理解和管理实体间的复杂关系变得日益重要。通过低代码平台进行配置的应用,因采用了DSL语言进行统一设计,要让专业开发者和非专业开发者都能快速实现复杂应用的构建,实体之间的数据逻辑和关系梳理就尤…

PyQt5 中的 List View

文章目录 1. 基础概念2. 创建 List View2.1 PyQt5 中一个简单的 List View 实例2.2 代码解释2.3 运行结果 3. 数据模型3.1 标准模型3.2 自定义模型 4. 自定义 List View4.1 使用样式表 (QSS)4.2 设置项委托 (Item Delegate) 5.事件处理6. 与数据交互6.1 添加数据6.2 删除数据6.…

【JAVA入门】Day05 - 面向对象

【JAVA入门】Day05 - 面向对象 文章目录 【JAVA入门】Day05 - 面向对象一、对象的设计和使用1.1 类和对象1.2 类的分类 二、封装三、private 关键字四、this 关键字五、构造方法六、JavaBean七、对象的内存图7.1 一个对象的内存图7.2 两个对象的内存图7.3 两个引用指向同一个对…

后仿真中的关于延时问题(如何指定延时模式)

了解到这里,大家可能会有个疑问:据我们常见,一个模块中不仅包含specify块,还会包含大量的门单元等语句。我们通常在specify块中会指定模块路径延迟, 模块内的路径单元(基本的门级单元、开关级元件或者子模块)又存在分布延迟,。 模块中这两种延迟经常会共存,那么此时进行仿真…