news 2026/4/23 13:58:20

软件测试:安全测试常见测试方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
软件测试:安全测试常见测试方法

一、安全测试常见的测试方法

1.功能测试

采用软件测试中的黑盒测试方法,对涉及安全的软件功能,如用户管理模块、权限管理模块、加密系统、认证系统等进行测试,主要是验证各个模块功能是否有效。

2.漏洞扫描

借助于特定的漏洞扫描工具 ,能够发现所维护信息系统存在的安全漏洞,为信息系统网络安全防护做到有的放矢,及时修补漏洞。

3.模拟gj实验

以模拟gj来验证软件或者信息系统的安全防护能力。

4.静态代码检查

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

5.动态st测试

借助工具或者手工模拟黑客的输入,对应用程序进行安全测试,进而发现系统中的安全性问题。动态st测试一般在系统测试阶段进行。

6.数据扫描

主要是对内存进行测试,尽量发现诸如缓冲区溢出之类 的漏洞。

二、SQL注入

SQL注入是一种常见的网络gj技术,通过利用应用程序在构建SQL查询时的漏洞进行gj。这些漏洞通常是由于应用程序没有正确验证用户输入或者没有适当地转义用户输入导致的。举个例子:一个登录页面输入用户名和密码,用户名输入框直接输入'or'1=1时,查询SQL就变成了select *from sys_user where username=''or'1=1';这将返回所有的用户记录,从而跳过了用户名的验证,实现了入侵。

为了防止SQL注入gj,应该采取以下措施:

1.验证用户输入

对于任何用户输入,应该使用合适的验证技术来确保输入的有效性和安全性。例如,可以使用正则表达式或者启发方式来检测可能的恶意输入。

2.参数化查询

使用参数化查询或预编译语句来构建SQL查询。这样可以确保用户输入被视为数据而不是SQL代码的一部分,从而防止gj者注入恶意的SQL代码。

3.转义用户输入

对于任何用户输入,应该使用适当的转义技术来转义特殊字符。例如,可以使用MySQL的‘mysqli_real_escape_string’函数来转义字符串中的特殊字符。

4.限制数据库权

应该将应用程序连接到的数据库的权限限制到最低限速。例如,可以为应用程序创建一个只拥有读取数据的用户账号,从而限制gj者可以执行的操作。

5.安全更新

定期更新应用程序和数据库软件的安全补丁,以确保系统免受已知漏洞的gj。

三、用户认证安全

1.不同用户权限

确保系统能够明确区分不同用户的权限。

2.用户冲突

检查系统中是否存在用户冲突的问题。

3.用户权限改变

检查系统是否因为用户权限的改变而造成混乱。

4.登陆密码安全性

检查用户的登录密码是否可见(接口传参时要加密传输)、可复制。

5.绝对路径登录

检查系统是否存在通过绝对路径登录的问题,如:直接拷贝已登录系统的连接,应默认跳转到登录页面,限制直接查看。

6.退出系统

检查用户退出登录系统后,是否删除了所有鉴权标记,并无法通过后退键再次直接进入系统。

四、数据库安全

1.数据泄密

数据库中的敏感数据需要加密显示(尤其是银行系统、保密系统等,一般有账号密码、银行卡号等等)。

2.入侵和恶意gj

黑客和恶意内部人员可能试图访问或者篡改数据库中的数据。因此,需要实施强大的访问控制策略,并使用防火墙、入侵检测和响应以及加密等技术来保护数据库。

3.数据备份与恢复

必须制定数据库备份和恢复计划,以防止数据丢失和灾难性事件,主要包括:定期备份数据、测试备份的完整性和可用性,以及在需要时快速恢复数据等。

五、系统网络安全

1.漏洞扫描工具

基于漏洞数据库,使用漏洞扫描工具对指定的远程或者本地计算机系统的安全脆弱性进行检测。通过漏洞扫描技术,测评人员能够检测主机是否开放了不必要的服务,是否对外部的网络探测行为进行了有效的屏蔽,是否设置了安全策略避免自身的敏感信息外协,是否安装了存在严重安全隐患的操作系统版本等等。常见的主流漏洞扫描工具和商业化产品有:Nessus、Acunetix WVS 、APPscan、极光、榕基等。

2.网络及应用系统扫描

有助于帮助用户了解网络的安全设置和与运行的应用服务,及时发现安全漏洞,客观评估风险等级,同时还能根据扫描的结果修正安全漏洞和系统中的不合理设置。

六、登录安全的其他问题

登录安全测试除了SQL注入外,需要覆盖各其他各个方面,来确保系统的安全性满足要求。

1.连续失败后的处理策略

如:连续登陆失败3次,是否会锁定账号一段时间,或者进行其他有效的防护措施,以防暴力pj。

2.用户登录密码

密码是否可见,以及是否有密码过期策略。密码是否按照符合要求的加密算法进行加密,并且不能以明文方式传输。日志中和数据库中,密码都应限制以明文密码存储。

3.验证码

验证码的失效时间验证。

4.页面超时

验证页面的超时机制,防止长时间无操作导致的会话劫持等一系列风险。

5.cookie存储

检查cookie中是否保存用户名和密码,若保存,则需要加密存储,以保护用户的数据安全。

6.https协议

对于安全性要求高的系统,最好使用https协议进行加密传输。

七、越权问题

越权问题是一种常见的网络安全挑战,可以发生在任何有权限管理的系统中。在测试越权问题时,从以下两个方向来验证:

1.未授权访问

不登陆用户账号,直接访问要测试的功能模块(正常的场景是需要登录成功后才能访问),如果能正常访问,则说明存在漏洞。

2.修改参数

例如:A账号的个人资料ID为1,B账号的个人资料ID为2,登录B账号,直接把URL的ID修改为1,如果可以查看到A的个人资料,说明存在越权漏洞。类似于其他参数也可以按照类似方法,查看URL的get参数对那些类似明显的顺序数字,直接修改,查看是否能越权访问。

八、页面权限泄漏

同第七项中的未授权访问,把后台目录的URL全部测试一遍,不登陆直接访问的情况即可。

九、HTML注入

HTML注入,也被称为虚拟污染,当网站接收到的HTML没有进行合适的处理时,gj者可以通过注入恶意的HTML代码改变网页的内容。

例如:

1.输入<html”>”gfhd</html>,看是否出错;

2.输入<input type=”text” name=”user” οnclick="alert(1)"/>,看是否出现文本框;

3.输入<script type=”text/javascript”>alert(“提示”)</script>看是否出现提示。

4.输入”><script type=”text/javascript”>alert(“提示”)</script>看是否出现提示。

5.输入 ”><script><” 看是否出现代码溢出。

十、文件下载

1.权限限制

如果有下载 权限,确认权限限制是否正确。例如,用户未登录时,是否禁止用户下载。

2.删除参数

查看文件是否支持删除,如果可删除,查看删除的URL里面的参数是否可以修改。如果直接修改删除参数,是否能越权删除其他文件。

十一、上传文件

1.文件格式

上传的文件格式是否符合规定要求的格式,如是否可以上传.exe文件和.zip文件等。

限制这类文件格式是因为这类可执行文件格式存在安全风险。如常见的bd和mm程序经常以.exe文件的形式存在,对于一些恶意软件的可执行文件,如果不进行限制,就可能在用户不知情的情况下被上传和执行,进而造成系统被gj、数据泄漏等严重后果。此外,从技术角度来说,.exe文件是基于Windows或其他操作系统的一种可执行文件格式,其包含的内容可能对系统产生影响。因此,有必要限制这些格式的上传,用以保护用户和系统的安全。

2.文件大小

文件大小是否满足系统设置的大小显示,需测试最小值与最大值。如,上传0KB的文件是否会导致异常错误,上传超限过大文件是否有错误提示且页面无异常。

3.文件名

文件名是否符合系统设定的命名规则,如是否包含特殊字符。

4.文件内容

上传的文件中存在恶意代码、bd等,上传时是否会检测到。

5.用户权限

操作上传文件,需要校验用户是否有上传文件的权限。测试已上传的文件是否能够被系统正确地访问和控制,如是否只有授权用户才能访问和下载。

6.上传空间

上传空间是否有限制,上传的文件大于服务器剩余上传空间限制时,是否会将大文件拆分上传,是否会出现异常错误。

7.上传成功的判断

上传过程中,网络异常或者中断服务等导致文件上传异常中断,程序是否能判断文件上传是否成功。

8.日志记录

测试上传文件的日志记录是否完整,日志信息是否记录全,涉及的敏感信息是否有加密或隐藏显示。

写在结尾

总之,安全测试对于确保软件应用程序的安全性和可靠性具有重要意义。对于企业而言,进行安全测试可以降低安全风险,提高软件质量,增强用户信任,遵守法规要求,并防止数据泄漏和gj。因此,在软件开发生命周期中,应该将安全测试作为一项重要的任务来对待,以确保最终发布的安全性。

最后:下方这份完整的软件测试 视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 13:54:44

如何快速解决Windows依赖问题:Visual C++运行库终极修复指南

如何快速解决Windows依赖问题&#xff1a;Visual C运行库终极修复指南 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况&#xff1f;下…

作者头像 李华
网站建设 2026/4/23 13:53:54

Figma中文插件终极指南:3分钟让你的Figma界面说中文

Figma中文插件终极指南&#xff1a;3分钟让你的Figma界面说中文 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 你是否曾因Figma的全英文界面而感到困扰&#xff1f;面对"Auto Lay…

作者头像 李华
网站建设 2026/4/23 13:53:02

玄机靶场-2024长城杯CISCN-威胁流量分析-zeroshell WP

玄机靶场-2024长城杯&CISCN-威胁流量分析-zeroshell WP 困难级别&#xff0c;800分&#xff0c;应急响应类型。6道题&#xff0c;考的是从流量包里还原一次完整的 ZeroShell 防火墙入侵事件&#xff0c;从漏洞利用到木马植入&#xff0c;再到逆向分析通信密钥&#xff0c;链…

作者头像 李华
网站建设 2026/4/23 13:52:20

3步实现智能资产管理革命:Snipe-IT条形码系统完全指南

3步实现智能资产管理革命&#xff1a;Snipe-IT条形码系统完全指南 【免费下载链接】snipe-it A free open source IT asset/license management system 项目地址: https://gitcode.com/GitHub_Trending/sn/snipe-it 你是否还在为IT资产盘点时的手动记录、错扫漏扫而烦恼…

作者头像 李华
网站建设 2026/4/23 13:41:26

保姆级教程:在Ubuntu 20.04 ROS Noetic下,用奥比中光Astra Pro摄像头完成棋盘格标定(附常见报错解决)

奥比中光Astra Pro摄像头ROS标定实战指南&#xff1a;从零到精准 引言 在机器人视觉和三维感知领域&#xff0c;摄像头标定是构建可靠感知系统的第一步。奥比中光Astra Pro作为一款高性价比的体感摄像头&#xff0c;广泛应用于SLAM、手势识别、三维重建等场景。本文将手把手带你…

作者头像 李华