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

news2025/7/12 8:24:37

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.coloradmin.cn/o/1822021.html

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

相关文章

动态防护开启教程和体验感受

动态防护是雷池 WAF 社区版在版本 [6.0.0] 中新增的一个功能,它属于站点高级防护的一部分。动态防护的主要作用是自动动态加密网站的 HTML 和 JavaScript 源码,目的是阻止爬虫和攻击自动化程序的分析。这项功能在 [6.0.0] 版本中标记为 BETA 版本&#x…

【Linux】进程_3

文章目录 五、进程3. 进程4. 进程状态 未完待续 五、进程 3. 进程 在当前,我们只能通过执行可执行程序来让操作系统帮我们启动进程,那我们如何使用代码来自己启动进程呢?我们可以使用 fork() 函数。作用是创建子进程。 我们创建一个程序来…

echarts学习:使用dataset管理数据

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

导入导出带下拉框模版(EasyExcel)

前言 项目进行到新的一个迭代了,赶了1周需求,接口终于处理完了。分享记录下迭代中处理导入、导出、下载模版功能的细节吧。 一、场景 EasyExcel(阿里)实现Excel数据处理三层表头,第二、三层表头动态数据根据第二、三层…

WebMvcConfigurer配置不当导致鉴权失败

最近同事说他们有个新需求,需要对接口进行加解密,所以他给项目配置了一个拦截器,但这个拦截器直接导致了每个接口鉴权失败,每次调用接口都是提示没有session信息。 公司内的所有java项目是公用同一套基础依赖,所以我也…

模具保护器 具体应用在哪些场所

模具监视器,被誉为模具的忠诚守护者,其应用领域遍布各类生产型设备,宛如一道坚实的防线,捍卫着模具的安全与生产的高效。以下是模具监视器在各领域所展现的卓越风采及其非凡功能: 在生产型设备的广阔天地里&#xff0c…

springboot美食菜谱分享平台优化版(源码+sql+论文报告)

绪论 1.1 研究意义 当今社会作为一个飞速的发展社会,网络已经完全渗入人们的生活, 网络信息已成为传播的第一大媒介, 可以毫不夸张说网络资源获取已逐步改变了人们以前的生活方式,网络已成为人们日常,休闲主要工具。…

加密软件有哪些优点?除了对文件加密这几点也很重要

加密软件用于保护数据安全,防止未经授权访问、数据泄露。通过使用加密算法来实现对数据的加密处理,确保数据在传输、存储过程中的机密性与完整性。 加密软件有哪些优点? 1、灵活控制:允许更灵活地配制加密控制条件,满…

夏季河湖防溺水新举措:青犀AI视频智能监控系统保障水域安全

近日一则新闻引起大众关注,有网友发布视频称,假期在逛西湖时,发现水面上“平躺”漂浮着一名游客在等待救援。在事发3分钟内,沿湖救生员成功将落水游客救到了岸边。 随着夏季的到来,雨水增多,各危险水域水位…

Java内存模型,堆、栈和方法区的区别

Java内存管理是Java虚拟机(JVM)技术的核心之一。了解Java内存管理对于提高程序性能、解决内存泄漏和优化资源利用至关重要。 一、Java内存模型(Java Memory Model, JMM) Java内存模型描述了Java程序中变量(包括实例字…

Flink作业执行之 3.StreamGraph

Flink任务如何跑起来之 3.StreamGraph 1. StreamGraphGenerator 在前文了解Transformation和StreamOperator后。接下来Transformation将转换成StreamGraph,即作业的逻辑拓扑结构。 在env.execute()方法中调用getStreamGraph方法生成StreamGraph实例。StreamGraph…

Electron无感打印 静默打印(vue3 + ts + vite)

(electron vue3 项目搭建部分 自行查找其他资源 本文只讲解Electronvue3 如何实现静默打印) 第一步获取打印机资源 渲染端代码(vue里面) // 因使用了vite所以在浏览器中打开 require会报错 只能在electron中 const { ipcRender…

JS实现文字溢出隐藏效果

需求场景 由于项目原因,经常需要使用到canvas来将dom生成为图片供用户保存,但canvas的css属性(例如本文实现的文字溢出隐藏效果)支持并不全面,所有有些功能只能用JS来实现了 实现思路 用JS循环判断填充文本后的元素…

Ollama在windows上的设置

下载 Download Ollama on macOS 安装:是不可以选择安装路径,系统自动运行,不启动模型不占用GPU 参数设置:windows添加环境变量(需要重启ollama) 修改模型位置:添加 OLLAMA_MODELS D:\LLM\Oll…

【C++】模板及模板的特化

目录 一,模板 1,函数模板 什么是函数模板 函数模板原理 函数模板的实例化 推演(隐式)实例化 显示实例化 模板的参数的匹配原则 2,类模板 什么是类模板 类模板的实例化 二,模板的特化 1,类模板的特化 全特化…

基于uni-app与图鸟UI打造的各领域移动端模板大赏

随着移动互联网的迅猛发展,各类移动端应用层出不穷,为了帮助企业快速搭建高效、美观的移动平台,我们基于强大的uni-app与图鸟UI,精心打造了不下于40套覆盖多个领域的移动端模板。今天,就让我们一起领略这些模板的风采吧…

django-vue-admin 本地部署

一、项目地址 主分支:master(稳定版本) 开发分支:develop django-vue3-admin-masterhttps://gitee.com/huge-dream/django-vue3-admin 注意:下载master分支zip代码包,解压后删掉web\src\views\syst…

185.二叉树:二叉搜索树的最近公共祖先(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/class Solution { public:// 函数用于寻找二叉搜索树中节点 p 和 q 的最低…

小程序外卖开发中的关键技术与实现方法

小程序外卖服务凭借其便捷性和灵活性,正成为现代餐饮行业的重要组成部分。开发一个功能完善的小程序外卖系统,需要掌握一系列关键技术和实现方法。本文将介绍小程序外卖开发中的核心技术,并提供具体的代码示例,帮助开发者理解和实…

慎投!4区SCISSCI有停刊风险!网传的水刊之王解析大全,真的好投吗?

本周投稿推荐 SSCI • 中科院2区,6.0-7.0(录用友好) EI • 各领域沾边均可(2天录用) CNKI • 7天录用-检索(急录友好) SCI&EI • 4区生物医学类,0.5-1.0(录用…