理解这几个安全漏洞,你也能做安全测试

01 短信炸弹

1、漏洞描述

短信轰炸攻击是常见的一种攻击,攻击者通过网站页面中所提供的发送短信验证码的功能处,通过对其发送数据包的获取后,进行重放,如果服务器短信平台未做校验的情况时,系统会一直去发送短信,这样就造成了短信轰炸的漏洞。

2、渗透测试

手工找到有关网站注册页面,认证页面,是否具有短信发送页面,如果有则进行下一步。

通过利用burp或者其它抓包截断工具,抓取发送验证码的数据包,并且进行重放攻击,查看手机是否在短时间内连续收到10条以上短信,如果收到大量短信,则说明存在该漏洞。

3、风险评级

可对任意手机号轰炸判定为高风险

只可对当前手机号轰炸或单个手机号码做了限制,但变换手机号码仍然可以不断发送的,判定为低风险。

4、安全建议

合理配置后台短信服务器的功能,对于同一手机号码,同一验证发送次数不超过5-10次,且对发送时间间隔做限制

当发送超过一定次数(可以为0),加入验证码验证。

02 邮件炸弹

1、漏洞描述

应用系统未限制邮件的发送次数和频率,造成短时间内大量邮件发送至接收者邮箱,造成大量垃圾邮件。

2、渗透测试

手工找到有关网站注册页面,认证页面,是否具有邮件发送页面,如果有则进行下一步

通过利用burp或者其它抓包截断工具,抓取发送邮件的数据包,并且进行重放攻击,查看邮箱是否在短时间内连续收到10封以上邮件,如果收到大量邮件,则说明存在该漏洞

图片

3、风险评级

可对任意邮箱轰炸,判定为高风险。

只可对当前邮箱轰炸,判定为低风险。

4、安全建议

合理配置后台邮件服务器的功能,对于同一邮箱,同一验证发送次数不超过5-10次,且对发送的时间间隔做限制。

当发送超过一定次数(可以为0),加入验证码验证。

03 短信定向转发

1、漏洞描述

短信接收人可任意指定

2、渗透测试

拦截发送短信的请求,将手机号改为测试人员的手机号,测试是否可接收短信验证码。

3、风险评级:高风险

4、安全建议

发送短信时手机号从当前会话中获取,避免从前端传入

用户的手机号不能随意变动,需要认证过程。

04 邮件可定向转发

1、漏洞描述

应用系统发送邮件的接收人可由客户端任意指定

2、渗透测试

拦截发送邮件的请求,将接收人邮箱改为测试人员的邮箱地址,测试是否可接收邮件。

3、风险评级:高风险

4、安全建议

发送邮件时邮箱从当前会话中获取,避免从前端传入

用户的邮箱不能随意变动,需要认证过程。

05 任意用户密码修改/重置

1、漏洞描述

可通过篡改用户名或ID、暴力破解验证码等方式修改/重置任意账户的密码。

2、渗透测试

密码修改的步骤一般是先校验用户原始密码是否正确,再让用户输入新密码。

修改密码机制绕过方式大概有以下三种:

如果输入新密码的接口可以直接访问,那么在未知原始密码的的情况下即可直接修改密码,通常知道了他人的用户名即可任意修改他人的密码。

如果系统未校验修改密码的用户身份,那么在提交修改密码请求时,攻击者通过输入密码,将用户名或者用户ID修改为其他人的,即可成功修改他人的密码。

当修改密码时系统需要电子邮件或者手机短信确认,而应用程序未校验用户输入的邮箱和手机号,那么攻击者通过填写自己的邮箱或手机号接收修改密码的链接和验证码,以此修改他人的密码。

图片

密码重置机制绕过攻击方式主要有以下两种:

通过正常手段获取重置密码的链接,猜解链接的组成结构和内容(如用户名或者时间戳的MD5值)。在得知他人邮箱的情况下,构造重置他人密码的链接。

在得知他人手机号的情况下,通过穷举手机验证码重置他人的密码。

3、风险评级:高风险

4、安全建议

一次性填写校验信息(原始密码、新密码等)后再提交修改密码请求

对客户端提交的修改密码请求,应对请求的用户身份与当前登录的用户身份进行校验,判断是否有权修改用户的密码

使用手机或邮箱进行验证时,要与修改密码的用户一一对应,且验证码仅一次有效,验证之后即失效,避免暴力破解

对原始密码进行了验证的情况下,限制输入原始密码的错误次数,防止攻击者暴力破解原始密码

重置密码链接中的关键信息应随机化,不可预测(例如token机制),且禁止将关键信息返回到客户端

06 SSO认证缺陷

1、漏洞描述

SSO认证存在缺陷,可越权登录他人账户。

2、渗透测试

信息传输缺乏安全保证

SSO认证通信过程中大多数采用明文形式传送敏感信息,这些信息很容易被窃取,致使重要信息泄露。另外,在通信过程中大多数场景没有对关键信息进行签名,容易遭到伪装攻击

利用Web服务的安全缺陷

由于单点登录基本上是基于Web服务实现的,所以也不可避免的存在Web服务的安全缺陷,如跨站脚本攻击、越权攻击等

3、风险评级:高风险

4、安全建议

建议在不影响业务的前提下,使用HTTPS协议传输

严格校验SSO认证过程中的用户身份

过滤用户传入的参数,对特殊符号进行转义或屏蔽

07 越权

1、漏洞描述

越权访问,这类漏洞是指应用在检查授权(Authorization)时存在纰漏,使得攻击者在获得低权限用户帐号后,可以利用一些方式绕过权限检查,访问或者操作到原本无权访问的高权限功能。在实际的代码安全审查中,这类漏洞往往很难通过工具进行自动化检测,因此在实际应用中危害很大。其与未授权访问有一定差别。

2、渗透测试

以超管 admin(高权限用户) 身份登录系统

找到一个只有超管(高权限)才有的功能的链接,比如:“http://localhost/userManage/userList.do” , 显示出所有的user,并复制此链接。

以普通用户登陆进系统,在地址栏输入:userManage/userList.do,确认是否可以查看到其所有的user

还可以测试同级别用户的横向越权访问

3、风险评级:高风险

4、安全建议

对用户操作进行权限校验,防止通过修改参数进入未授权页面及进行非法操作,建议在服务端对请求的数据和当前用户身份做一个校验检查。

08 恶意锁定问题

1、漏洞描述

通过不断的输入错误的密码可恶意锁定任意账号

2、渗透测试

针对测试账户,不断输入错误的密码,直至将其锁定。

3、风险评级:

锁定账户之后,可继续使用认证功能,导致可批量自动化账户锁定,为中风险。

锁定账户之后,可继续使用认证功能,但认证存在防自动化功能,为低风险。

4、安全建议

账户锁定之后应不能继续使用认证功能,如对请求IP进行一个限制,一段时间之后才可以继续尝试认证

认证功能防自动化操作,如添加图形验证码。

09 负值反冲/正负值对冲

1、漏洞描述

应用程序未校验订单数据的取值范围,交易存在负值反冲或正负值对冲

2、渗透测试

提交订单时拦截请求,修改订单参数为负数,如商品单价、数量、总价等。

提交订单(包含多种商品)时拦截请求,修改部分商品的单价或数量,保证订单总金额为正数。

3、风险评级:高风险

4、安全建议

服务器端在生成交易订单时,商品的价格从数据库中取出,禁止使用客户端发送的商品价格。

服务器端对客户端提交的交易数据(如商品ID、商品数量、商品价格等)的取值范围进行校验,将商品ID和商品价格与数据库中的数据对比校验,商品数量为大于零的整型数。

服务器端在生成支付订单时,对支付订单中影响支付金额的所有因素(比如商品ID、商品数量、商品价格、订单编号等)进行签名,对客户端提交的支付订单进行校验。

010 业务流程跳跃

1、漏洞描述

业务逻辑流程分步骤进行且能越过中间校验步骤直接进行后续操作,导致中间校验等步骤失效。

2、渗透测试

首先完成正常的业务逻辑步骤,获取每一个步骤的请求;

绕过中间步骤,直接访问最后一个或几个验证请求,看是否可绕过。

3、风险评级:高风险

4、安全建议

建议在不影响业务的前提下,在Session中添加对每一步流程页面的校验标志位,在新步骤页面浏览过程前要检测之前每一步的session标志位,且要与用户身份强绑定。

图片

特殊场景:密码修改/重置流程跳跃

漏洞描述

密码修改功能常采用分步骤方式来实现,攻击者在未知原始密码的情况下绕过某些检验步骤修改用户密码。

渗透测试

完成修改/重置密码的正常流程,判断验原密码步骤成功的标识是否可伪造

绕过检验原密码等步骤,直接访问输入新密码接口,输入新密码,修改/重置密码。

风险评级:高风险

安全建议

一次性填写校验信息(原始密码、新密码等)后再提交修改/重置密码请求

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
在这里插 入图片描述

软件测试面试文档

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

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高斯消元法的应用

如果有这么一个线性规划系统的例子: 添加图片注释,不超过 140 字(可选) 将如上的线性规划系统转换为: 添加图片注释,不超过 140 字(可选) 这里要注意的是转换后的约束条件全部都变…

模版进阶C++

非类型模版 之前我们写的模版都是在不知道模版(类)中有的变量的类型是什么的时候,我们先用模版参数定义,当类实例化的时候在传参确认 非类型模版:模版参数定义的时候也可以定义整型类型(c20之后才支持其…

【剑指offer--C/C++】JZ3 数组中重复的数字

一、题目 二、本人思路及代码 这道题目它要求的时间空间利用率都是n,那么可以考虑创建一个长度为n的数组repeat初始化为0,下标代码出现的数字,下标对应的数组内容代表该下标数字出现的次数。然后遍历提供的数组,每出现一个数字&a…

java011 - Java字符串

1、API 1.1 概念 API(application programming interface)应用编程接口。 1.2 API帮助文档 1.3 API练习 注意:使用快捷键 ctrlalt v 可以直接生存左边的 数据类型 变量 。 完整代码: 2、String 2.1 概述 String类在 java.long 包下,所以使用的时…

LeetCode 刷题 [C++] 第347题.前 K 个高频元素

题目描述 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 题目分析 据题意可知,我们需要先遍历整个数组,并统计每个数字出现的次数,保存在哈希表中;对元素…

C++基于多设计模式下的同步异步日志系统day4

📟作者主页:慢热的陕西人 🌴专栏链接:C基于多设计模式下的同步&异步日志系统 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 只要内容主要实现了同步日志消息…

2024年【安全员-C证】及安全员-C证模拟考试题

题库来源:安全生产模拟考试一点通公众号小程序 安全员-C证考前必练!安全生产模拟考试一点通每个月更新安全员-C证模拟考试题题目及答案!多做几遍,其实通过安全员-C证作业模拟考试很简单。 1、【多选题】《劳动法》规定&#xff0…

w30使用python调用shell脚本

使用python脚本去实现永恒之蓝漏洞攻击 实验环境 攻击工具:pythonmsfconsole 靶场:win7 和 kali实验目的 演示python脚本调用过程 实验步骤 1.写一个永恒之蓝的攻击脚本,定义为blue.rc use exploit/windows/smb/ms17_010_eternalblue …

从第一原理看大语言模型

大模型基础框架 大模型幻觉问题 大模型能力 思维链模式 思维链模式激发的是大模型的推理能力 LLM知识能力RAG

深度学习-Softmax 回归 + 损失函数 + 图片分类数据集

Softmax 回归 损失函数 图片分类数据集 1 softmax2 损失函数1均方L1LossHuber Loss 3 图像分类数据集4 softmax回归的从零开始实现 1 softmax Softmax是一个常用于机器学习和深度学习中的激活函数。它通常用于多分类问题,将一个实数向量转换为概率分布。Softmax函…

【黑马程序员】5、TypeScript类型声明文件_黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程

课程地址:【黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程】 https://www.bilibili.com/video/BV14Z4y1u7pi/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 5、TypeScript类型声明文件 5.1 TS中的…

布隆过滤器实战

一、背景 本篇文章以解决实际需求的问题的角度进行切入,探讨了如果使用布隆过滤器快速丢弃无效请求,降低了系统的负载以及不必要的流量。 我们都知道布隆过滤器是以占用内存小,同时也能够实现快速的过滤从而满足我们的需求,本篇…

2.模拟问题——4.日期问题

日期问题难度并不大,但是代码量非常大,需要较高的熟练度,因此需要着重练习,主要涉及数组和循环两个方面的知识点,需要熟练的测试代码。 两个经典题型 闰年 闰年满足以下两个条件的任意一个 能够被400整除不能够被1…

一文扫盲:订单管理系统,订单是公司生命线。

hello,我是贝格前端工场,本期给大家分享订单管理系统的知识点,欢迎老铁们点赞、关注,如有需求可以私信我们。 一、什么是订单管理系统 单管理系统是一种用于管理和处理订单的软件系统。它通常用于企业、电子商务平台、零售店等需…

分布式存储Ceph应用

Ceph应用一、创建 CephFS 文件系统 MDS 接口1、服务端操作2、客户端操作 二、创建 Ceph 块存储系统 RBD 接口1、创建存储池2、将存储池转换为 RBD 模式3、初始化存储池4、创建镜像5、镜像管理5.1 查看镜像5.2 修改镜像大小5.3 删除和还原镜像 6、Linux客户端使用7、快照管理 三…

使用综合评标法评标时需要注意什么

综合评标法是一种常见的评标方法,它将投标人的技术方案、商务条件、价格等因素综合起来进行评价,以确定中标人。在使用综合评标法进行评标时,需要注意以下几点: 1. 制定合理的评标标准:在评标前,应制定一套…

如何提取图片中某个位置颜色的RGB值,RGB十进制值与十六进制的转换

打开本地的画图工具,把图片复制或截图粘进去,用颜色提取器点对应的位置就可以提取了。 获取到的 RGB 值为 (66,133,244) 转化后的值为 #4285F4。 【内容拓展一】:RGB 十进制值与十六进制的转换 当我们从 RGB 十进制值转换为十六进制值时&a…

【MySQL·8.0·源码】subquery 子查询处理分析(二)

引文 在【MySQL8.0源码】subquery 子查询处理分析(一)中,已经介绍了 MySQL 子查询的语法树形式,并简单介绍了非相关 scalar 子查询的一些处理流程,本文将继续介绍更多子查询的处理流程。 本文后续以 “分析&#xff0…

HTML5:七天学会基础动画网页6

CSS3自定义字体 ①:首先需要下载所需字体 ②:把下载字体文件放入 font文件夹里,建议font文件夹与 css 和 image文件夹平级 ③:引入字体,可直接在html文件里用font-face引入字体,分别是字体名字和路径 例…

【OrthoFinder】直系同源基因分析工具

目录 OrthoFinder工具介绍 OrthoFinder的安装方法 OrthoFinder使用方法 参数介绍 输入与输出 OrthoFinder结果解读 Comparative_Genomics_Statistics: Gene_Duplication_Events: Gene_Trees: Orthogroups: Orthogroup_Sequences&am…