Web应用安全测试-业务功能滥用(一)

Web应用安全测试-业务功能滥用(一)

1、短信定向转发

漏洞描述:短信接收人可任意指定

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

风险分析:攻击者可利用该漏洞将验证码发送到自己的手机号上,重置他人密码或转账。

风险等级:

高危:短信接收人可任意指定

修复方案:发送短信时手机号从当前会话中获取,避免从前端传入。

注意事项:暂无

2、邮件可定向转发

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

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

风险分析:攻击者可利用该漏洞将邮件发送到自己的邮箱中,重置他人密码。

风险等级:

高危:邮件接收人可任意指定

修复方案:发送邮件时邮箱从当前会话中获取,避免从前端传入。

注意事项:暂无

3、业务接口调用缺陷

漏洞描述:应用的业务接口存在缺陷,可以通过业务接口直接进行恶意操作。

测试方法:把业务逻辑和功能模块呈现的内容结合,推测出隐藏的API接口。

如用户信息的接口是http://www.xxx.com/api/user/userInfo,推测重置密码接口可能是http://www.xxx.com/api/user/passReset,文件上传接口是http://www.xxx.com/api/user/uploadFile等。如果这些接口没有限制访问,则可以直接调用并提交数据。

针对开源或商业软件的业务接口调用缺陷可参考《通用系统安全测试指导文档》

风险分析:攻击者可通过编写API枚举脚本,恶意调用敏感接口,从而进行提交数据等操作。

风险等级:

高危:通过业务接口能够操作核心业务内容,进行越权

高危:通过业务接口能够获得重要敏感数据

中危:通过业务接口能够获得中等程度敏感数据

修复方案:对于每一个访问的接口都首先检查当前用户是否已经登录并授权(不需要认证的接口除外,例如,免费下载接口等)。

注意事项:暂无

4、IMAP/SMTP注入

漏洞描述:和广为人知的诸如SQL注入、XPath注入等技术类似,邮件服务器注入技术也是通过一个对用户提供的数据没有严格检查的webmail应用程序将IMAP命令或者SMTP命令注入到邮件服务器。要向邮件服务器注入命令,前提条件是允许用户通过webmail应用程序访问其端口25(SMTP)和143(IMAP)。

测试方法:要利用SMTP注射,用户必须事先通过认证,所以用户必须有一个有效的webmail帐户。通过SMTP发送电子邮件消息的格式如下:

  • 发送方的e-mail地址 
  • 接收方的e-mail地址 
  • 主题 
  • 消息主体 
  • 附件
  1. CC/BCC注入
    在发送者字段(sender)后注入CC和BCC参数
    From:sender@domain.com%0ACc:recipient@domain.com%0ABcc:recipient1@domain.com
    所以现在,消息将被发送到recipient和recipient1账户。
  2. 参数注射
    From:sender@domain.com%0ATo:attacker@domain.com
    现在消息将被发送到原来的收件人和攻击者帐户。注意,这里的攻击者的账户是我们通过注入额外传入的。
  3. 邮件主题注入
    From:sender@domain.com%0ASubject:This’s%20Fake%20Subject
    攻击者注入的假的主题subject将被添加到原来的主题中并且在某些情况下将取代原本的主题subject。这取决于邮件服务行为。即代码编写的容错性,当参数中出现两个subject的时候代码是选择丢弃还是后者覆盖。
  4. 改变消息的主体body
    要注意SMTP的Mail格式,消息主题和头部Header之间有两个换行符(和HTTP是一样的)。
    From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
    假消息将被添加到原始消息中。

风险分析:电子邮件注入允许恶意攻击者注入任意邮件头字段,BCC、CC、主题等,它允许黑客通过注入手段从受害者的邮件服务器发送垃圾邮件。

风险等级:

高危:可成功劫持密码找回等信息

高危:可成功发送垃圾邮件

修复方案:建议从以下几个方面进行防御:

  1. 所有用户输入应该被认为是不可信的。使用正则表达式来过滤用用户提交的数据。例如,可以在输入字符串中搜索(r 或 n)。
  2. 使用外部组件和库,例如ZEND mail、PEAR mail和swift mailer。
  3. ModSecurity可以阻止服务器级别的电子邮件注入。利用ModSecurity,可以检测通过POST或GET提交的CC, BCC或目的地址,并且拒绝任何包含这些字母请求。

注意事项:暂无

5、引用第三方不可控脚本/URL

漏洞描述:页面中引用了不可控的脚本或超链接

测试方法:检查页面内容,是否引用了第三方未知脚本或超链接,如恶意的js脚本或病毒木马的下载链接等。

风险分析:攻击者可在网站中插入恶意链接或脚本,导致正常用户浏览时cookie被窃取或被种植病毒木马。

风险等级:

高危:存在不可控外链或脚本,且未经过审批

中危:存在不可控外链或脚本,但可提供审批记录

修复方案:建议在不影响业务的前提下,对网站引用的文件和源代码进行审查,一经发现有未审批的外链或脚本,应立即删除。

注意事项:暂无

6、开启危险接口

漏洞描述:开启可利用的危险接口,如获取订单信息、用户身份信息等。

测试方法:

  1. 使用扫描器扫描特殊目录和链接
  2. 根据正常接口的命名特征猜测隐藏的危险接口,如获取个人信息接口是getUserInfo,猜测获取订单信息接口getOrderDetail。

风险分析:开启了危险接口,如订单信息打印、上传、web管理控制台等,可能被攻击者发现并利用,直接操作应用数据,造成数据泄漏等风险。

风险等级:

高危:正常情况接口是在认证之后被调用,如果可公网直接无认证使用

中危:存在特权、非正常用户不可知但可利用接口

修复方案:

  1. 敏感接口增加访问控制,避免未授权访问;
  2. 用户访问接口需校验权限,避免越权访问。

注意事项:暂无

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

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

相关文章

echarts学习:使用dataset管理数据

前言 在我们公司的组件库中有许多echarts图表相关的组件,这些组件在使用时,只需将图表数据以特定的格式传入组件中,十分方便。因此当我得知echarts 可以使用dataset集中管理数据时,我就决定自己一定要搞懂它,于是在最…

oracle 删除当前用户下所有表

荆轲刺秦王 通常呢 我们将正式环境的 oracle 数据库 导出成 dmp 文件,然后导入到测试环境或者本地环境,期间可能会出现各种问题。那么如何使错误的导入数据全部删除呢。可以这样做: 1. 本地虚拟机启动 oracle 服务 2. sqldeveloper 连接 o…

vue 安装依赖报错

解决方法: npm install --legacy-peer-deps 然后再运行项目即可。

LabVIEW利用旋转编码器脉冲触发数据采集

利用旋转编码器发出的脉冲控制数据采集,可以采用硬件触发方式,以确保每个脉冲都能触发一次数据采集。本文提供了详细的解决方案,包括硬件连接、LabVIEW编程和触发设置,确保数据采集的准确性和实时性。 一、硬件连接 1. 旋转编码…

北斗应急通信手持终端如何在户外使用

北斗应急通信手持终端在户外的使用,需要遵循一定的步骤和注意事项以确保其高效、安全地运作。以下是一个清晰的使用指南: 一、准备阶段 检查电量:确保北斗应急通信手持终端的电量充足,并携带备用电源以应对长时间使用的情况。 熟…

Ubuntu系统设置中文输入法

重新设置超级用户权限(root)密码(非必要) sudo passwd root 需要注意的是Ubuntu的root密码不能少于8个字符 设置成功后输入命令和新的密码即可无需输入sudo启用root命令 su - 更新软件包列表 sudo apt update sudo apt upgrade 安装fcitx5输入法框架 个别情况需要卸载旧的…

红黑树【C++实现】

文章目录 红黑树的概念红黑树的性质红黑树的操作红黑树结点的定义红黑树的插入情况一:插入结点的叔叔存在,且叔叔的颜色是红色情况二: 插入结点的叔叔存在,且叔叔的颜色是黑色情况三: 插入结点的叔叔不存在 红黑树的验证红黑树的查找 红黑树的…

实现直流高电压(100Vdc~1000Vdc)检测的采样电路(隔离方案)

目前,在电力系统自动化领域、新能源电动汽车领域以及高压储能领域,经常需要采样、检测高压直流母线电压,一般直流高压可能达到100Vdc~1000Vdc,结合电路成本和采样精度,我们设计人员就需要选择合适的采样电路…

【elementui源码解析】如何实现自动渲染md文档-第一篇

文章目录 目录 背景 获取源码 代码分析 背景 之前基于vant3的源码开发过二次开发过组件,其中vant实现了将md文档渲染到界面上,有天突发奇想想知道这是如何实现的将md文档渲染到界面上的,因为平时开发中使用elementui占多数,所…

java线程池讲解!核心参数

创建方式 | 构造方法 Executor构造方法 存放线程的容器&#xff1a; private final HashSet<Worker> workers new HashSet<Worker>(); 构造方法&#xff1a; public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit uni…

利用Morph Studio平台免费生成AI视频教程和效果体验

今天体验一下生成AI视频平台&#xff0c;目前是免费的&#xff0c;但生成效果还是不错的,可以根据输入文字&#xff0c;或者上传图片&#xff0c;或者上传视频来自动生成视频。 访问官网&#xff0c;登录之后点击“create Library” &#xff0c;比如我建了一个“AI视频”的Li…

4S店试驾线上预约小程序源码系统 前后端分离 带完整的源代码包+安装部署教程

系统概述 这款 4S 店试驾线上预约小程序源码系统旨在为 4S 店和消费者提供便捷、高效的试驾预约服务。通过小程序&#xff0c;消费者可以轻松预约试驾&#xff0c;4S 店可以方便地管理预约信息&#xff0c;提高工作效率和服务质量。 代码示例 系统特色功能一览 1.便捷的预约流…

面向对象编程重载

系列文章目录 文章目录 系列文章目录前言一、重载&#xff08;overload&#xff09; 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了…

floating_point的IP核使用

参考文章&#xff1a;Vivado IP核之定点数转为浮点数Floating-point_vivado 浮点数-CSDN博客 IP核的配置 后边还要做FFT&#xff0c;所以理论上最好的输出方式是单精度浮点。 输入精度&#xff1a;为了满足要求&#xff0c;输出数据的24位&#xff0c;其中 1位符号位&#xff…

2024年【制冷与空调设备运行操作】考试内容及制冷与空调设备运行操作考试报名

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 制冷与空调设备运行操作考试内容考前必练&#xff01;安全生产模拟考试一点通每个月更新制冷与空调设备运行操作考试报名题目及答案&#xff01;多做几遍&#xff0c;其实通过制冷与空调设备运行操作新版试题很简单。…

pytest配置文件配置并通过allure生成报告

之前已经学习了使用pytestrequests实现各种方式的调用和一些脚本的执行&#xff0c;今天来学习下如何使用pytest.ini配置文件来管理用例的执行以及如何使用allure生成测试报告。 1.pytest.ini文件配置 在项目目录下新建pytest.ini文件&#xff0c;然后进行配置&#xff0c;pyt…

从路边摊到五星级酒店:六西格玛培训的价格与品质探秘!

当我们深入探讨市面上的六西格玛培训价格差异时&#xff0c;确实会发现不同机构之间存在着显著的差别。以张驰咨询和xx机构为例&#xff0c;两者在价格定位上形成了鲜明的对比&#xff0c;同时也展示了不同机构在教学理念和服务品质上的不同。 xx机构之所以能以亲民的价格吸引…

JVM常用概念之扁平化堆容器

扁平化堆容器是OpenJDK Valhalla 项目提出的&#xff0c;其主要目标为将值对象扁平化到其堆容器中&#xff0c;同时支持这些容器的所有指定行为&#xff0c;从而达到不影响原有功能的情况下&#xff0c;显著减少内存空间的占用&#xff08;理想条件下可以减少24倍&#xff09;。…

C++ 36 之 this指针

#include <iostream> #include <string.h> using namespace std;// this指针 永远指向当前对象 class Students06{ public:int age;// int m_age; //member成员首字母mStudents06(int age){// 1.解决命名冲突的问题 this指针找成员变量需要使用->符号this->…

AI时代的产品经理的成长指南

前言 随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;我们正处在一个变革的时代。在这个时代&#xff0c;产品经理的角色和职责也在不断地发生变化和演进。为了在这个充满机遇和挑战的AI时代中脱颖而出&#xff0c;产品经理需要不断地学习、成长和适应。以…