1 短信炸弹

  • 漏洞描述

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

  • 渗透测试
  1. 手工找到有关网站注册页面,认证页面,是否具有短信发送页面,如果有,则进行下一步。
  2. 通过利用burp或者其它抓包截断工具,抓取发送验证码的数据包,并且进行重放攻击,查看手机是否在短时间内连续收到10条以上短信,如果收到大量短信,则说明存在该漏洞。
  • 风险评级:
  1. 可对任意手机号轰炸判定为高风险
  2. 只可对当前手机号轰炸或单个手机号码做了限制,但变换手机号码仍然可以不断发送的,判定为低风险。
  • 安全建议
  1. 合理配置后台短信服务器的功能,对于同一手机号码,同一验证发送次数不超过5-10次,且对发送时间间隔做限制
  2. 当发送超过一定次数(可以为0),加入验证码验证。

2 邮件炸弹

  • 漏洞描述

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

  • 渗透测试
  1. 手工找到有关网站注册页面,认证页面,是否具有邮件发送页面,如果有,则进行下一步
  2. 通过利用burp或者其它抓包截断工具,抓取发送邮件的数据包,并且进行重放攻击,查看邮箱是否在短时间内连续收到10封以上邮件,如果收到大量邮件,则说明存在该漏洞
  • 风险评级:
  1. 可对任意邮箱轰炸,判定为高风险。
  2. 只可对当前邮箱轰炸,判定为低风险。
  • 安全建议
  1. 合理配置后台邮件服务器的功能,对于同一邮箱,同一验证发送次数不超过5-10次,且对发送的时间间隔做限制。
  2. 当发送超过一定次数(可以为0),加入验证码验证。

3 短信定向转发

  • 漏洞描述

短信接收人可任意指定

  • 渗透测试

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

  • 风险评级:高风险
  • 安全建议
  1. 发送短信时手机号从当前会话中获取,避免从前端传入
  2. 用户的手机号不能随意变动,需要认证过程。

4 邮件可定向转发

  • 漏洞描述

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

  • 渗透测试

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

  • 风险评级:高风险
  • 安全建议
  1. 发送邮件时邮箱从当前会话中获取,避免从前端传入
  2. 用户的邮箱不能随意变动,需要认证过程。

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

  • 漏洞描述

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

  • 渗透测试

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

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

  1. 如果输入新密码的接口可以直接访问,那么在未知原始密码的的情况下即可直接修改密码,通常知道了他人的用户名即可任意修改他人的密码。
  2. 如果系统未校验修改密码的用户身份,那么在提交修改密码请求时,攻击者通过输入密码,将用户名或者用户ID修改为其他人的,即可成功修改他人的密码。
  3. 当修改密码时系统需要电子邮件或者手机短信确认,而应用程序未校验用户输入的邮箱和手机号,那么攻击者通过填写自己的邮箱或手机号接收修改密码的链接和验证码,以此修改他人的密码。

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

  1. 通过正常手段获取重置密码的链接,猜解链接的组成结构和内容(如用户名或者时间戳的MD5值)。在得知他人邮箱的情况下,构造重置他人密码的链接。
  2. 在得知他人手机号的情况下,通过穷举手机验证码重置他人的密码。
  • 风险评级:高风险
  • 安全建议
  1. 一次性填写校验信息(原始密码、新密码等)后再提交修改密码请求
  2. 对客户端提交的修改密码请求,应对请求的用户身份与当前登录的用户身份进行校验,判断是否有权修改用户的密码
  3. 使用手机或邮箱进行验证时,要与修改密码的用户一一对应,且验证码仅一次有效,验证之后即失效,避免暴力破解
  4. 对原始密码进行了验证的情况下,限制输入原始密码的错误次数,防止攻击者暴力破解原始密码
  5. 重置密码链接中的关键信息应随机化,不可预测(例如token机制),且禁止将关键信息返回到客户端

6 SSO认证缺陷

  • 漏洞描述

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

  • 渗透测试

1、信息传输缺乏安全保证

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

2、利用Web服务的安全缺陷

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

  • 风险评级:高风险
  • 安全建议
  1. 建议在不影响业务的前提下,使用HTTPS协议传输
  2. 严格校验SSO认证过程中的用户身份
  3. 过滤用户传入的参数,对特殊符号进行转义或屏蔽。

7 越权

  • 漏洞描述

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

  • 渗透测试
  1. 以超管 admin(高权限用户) 身份登录系统
  2. 找到一个只有超管(高权限)才有的功能的链接,比如:"http://localhost/userManage/userList.do" , 显示出所有的user,并复制此链接。
  3. 以普通用户登陆进系统,在地址栏输入: userManage/userList.do,确认是否可以查看到其所有的user
  4. 还可以测试同级别用户的横向越权访问
  • 风险评级:高风险
  • 安全建议

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

8 恶意锁定问题

  • 漏洞描述

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

  • 渗透测试

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

  • 风险评级:
  1. 锁定账户之后,可继续使用认证功能,导致可批量自动化账户锁定,为中风险。
  2. 锁定账户之后,可继续使用认证功能,但认证存在防自动化功能,为低风险。
  • 安全建议
  1. 账户锁定之后应不能继续使用认证功能,如对请求IP进行一个限制,一段时间之后才可以继续尝试认证
  2. 认证功能防自动化操作,如添加图形验证码。

9 负值反冲/正负值对冲

  • 漏洞描述

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

  • 渗透测试
  1. 提交订单时拦截请求,修改订单参数为负数,如商品单价、数量、总价等。
  2. 提交订单(包含多种商品)时拦截请求,修改部分商品的单价或数量,保证订单总金额为正数。
  • 风险评级:高风险
  • 安全建议
  1. 服务器端在生成交易订单时,商品的价格从数据库中取出,禁止使用客户端发送的商品价格。
  2. 服务器端对客户端提交的交易数据(如商品ID、商品数量、商品价格等)的取值范围进行校验,将商品ID和商品价格与数据库中的数据对比校验,商品数量为大于零的整型数。
  3. 服务器端在生成支付订单时,对支付订单中影响支付金额的所有因素(比如商品ID、商品数量、商品价格、订单编号等)进行签名,对客户端提交的支付订单进行校验。

10 业务流程跳跃

  • 漏洞描述

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

  • 渗透测试
  1. 首先完成正常的业务逻辑步骤,获取每一个步骤的请求;
  2. 绕过中间步骤,直接访问最后一个或几个验证请求,看是否可绕过。
  • 风险评级:高风险
  • 安全建议

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

10.1 密码修改/重置流程跳跃(特殊场景)

  • 漏洞描述

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

  • 渗透测试
  1. 完成修改/重置密码的正常流程,判断验原密码步骤成功的标识是否可伪造
  2. 绕过检验原密码等步骤,直接访问输入新密码接口,输入新密码,修改/重置密码。
  • 风险评级:高风险
  • 安全建议

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


爱家人,爱生活,爱设计,爱编程,拥抱精彩人生!

【安全】Web应用常见业务逻辑漏洞相关推荐

  1. Web安全之业务逻辑漏洞

    业务逻辑 不同的项目有不同的功能,不同的功能需要不同的代码实现,实现这些核心功能的代码就叫业务逻辑. 业务逻辑漏洞 业务逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能正常处理或处理错 ...

  2. 不可思议但又无处不在的漏洞,WEB安全基础入门—业务逻辑漏洞

    欢迎关注订阅专栏! WEB安全系列包括如下三个专栏: <WEB安全基础-服务器端漏洞> <WEB安全基础-客户端漏洞> <WEB安全高级-综合利用> 知识点全面细致 ...

  3. 常见的业务逻辑漏洞-整合篇

    笔者前言: 作为一个地地道道的安服仔,每日的工作就是渗透测试,在测试的过程中累积了很多的经验,看到了各种各样奇葩的漏洞,于是乎便有了这样的一篇文章.以下文章均由本人测试发现并打码,侵删 什么是业务逻辑 ...

  4. 【CyberSecurityLearning 65】业务安全+业务逻辑漏洞实战

    目录 业务安全 * 业务安全概述 * 黑客攻击的目标 业务安全测试流程 * 测试准备 * 业务调研 * 业务建模 * 业务流程梳理 * 业务风险点识别 * 开展测试 * 撰写报告 万能用户名|密码 业 ...

  5. 攻防演练中的业务逻辑漏洞及检测思路

    随着各类前后端框架的成熟和完善,传统的SQL注入.XSS等常规漏洞在Web系统里逐步减少,而攻击者更倾向于使用业务逻辑漏洞来进行突破.业务逻辑漏洞,具有攻击特征少.自动化脆弱性工具无法扫出等特点,也为 ...

  6. 业务逻辑漏洞挖掘-某网站绕过下载付费机制进行下载文件

    某网站绕过下载付费机制进行下载文件 学习漏洞也学了一段时间了,对于一些常见的漏洞也就在靶场上练习.靶场毕竟是靶场,挖漏洞还是得尝试在一些真实的网站进行练习.于是,不多说了,虚拟机启动,burpsuit ...

  7. 5 Business logic vulnerabilities 业务逻辑漏洞

    5 Business logic vulnerabilities 业务逻辑漏洞 目录 5 Business logic vulnerabilities 业务逻辑漏洞 一.What 二.业务逻辑漏洞如何 ...

  8. 张小白的渗透之路(十)——业务逻辑漏洞

    业务逻辑漏洞 由于程序逻辑不严谨或逻辑太过复杂,导致一些逻辑分支不能正常处理或处理错误,统称为 业务逻辑漏洞 关注重点 业务流程 HTTP/HTTPS 请求分析 漏洞分类 身份认证 暴力破解 在 没有 ...

  9. 058 业务逻辑漏洞

    文章目录 一:概述 二:黑客攻击的目标 三:业务安全测试流程 3.1:测试准备 3.2:业务调研 3.3:业务建模 3.4:业务流程梳理 3.5:业务风险点识别 3.6:开展测试 3.7:撰写报告 四 ...

最新文章

  1. windows 注册表讲解
  2. 进入it圈10多年了,我不是最优秀的,确是用心的
  3. kali2.0部署docker
  4. 自然人税收管理系统扣缴客户端服务器超时,“自然人税收管理系统”扣缴客户端常见问题十问十答...
  5. JMeter的PUT请求,响应结果中文出现乱码的解决方法
  6. Linux扩展正则表达式
  7. (231)DPU数据处理单元现有产品介绍
  8. 序列生成_Excel中最快速地生成数字序列的方法
  9. Tengine新增nginx upstream模块的使用
  10. ubuntu安装sogou输入法、及安装完成后的配置
  11. 计算机显示桌面的按钮,如何找回Windows“显示桌面”按钮 -电脑资料
  12. java sftp工具类_Java代码--SFTP工具类
  13. 算法学习(二)——Alpha-Beta剪枝算法
  14. C程序设计——打飞机
  15. 凑微分公式_高等数学–求积分的一些方法(IV 凑微分法)
  16. BTC隔离见证(3开头)地址离线签名
  17. 10种人脉裂变技能,6个裂变核心,8个吸粉人性本能怎样玩粉丝裂变?
  18. Python3版本Django实现免费手机验证码注册
  19. linux外置光驱调速,买内置不如买外置 五款外置光驱推荐
  20. 更透明的隐私设置和全新的APP资源库:iOS 14测试版深度体验~~~

热门文章

  1. 养老院IPTV数字电视系统方案-养老公寓康养社区IPTV电视系统建设指南
  2. kafka 安装及测试
  3. 科技云报道:5G还未普及,6G已经来了?
  4. 老师们:不能用微信、QQ等方式布置作业了!
  5. DBMS与RDBMS:DBMS与RDBMS之间的比较和差异
  6. grammarly 入门
  7. Android投屏到设备及图像设备投屏到手机方案
  8. 配置中心(Config-Server)
  9. 【笔记】《软件测试(第2版)》-周元哲
  10. FastDFS 分布式文件系统详解