对SRS媒体服务器进行漏洞扫描时,SRS的API模块会出现漏洞,如何修补这些漏洞的简单方法

目录

一、引言

1、srs介绍

2、媒体流介绍

3、应用场景

二、SRS的http_api介绍、及漏洞

1、概述

2、http_api模块的作用

(1)提供HTTP API服务

(2)管理和监控SRS服务器

(3)自定义开发

三、漏洞扫描出现信息泄露的问题

1、概述

2、漏洞扫描结果

(1)漏洞说明

(2)漏洞截图

A、网站存在api接口泄露

B、网站存在该服务器接口处api泄露

3、泄露的信息

四、解决方式

1、解决方法

2、身份验证的解决方式

五、解决结果


一、引言

1、srs介绍

        srs(Simple Real-Time Media Server),即简单实时媒体服务器,是一个开源的流媒体服务器软件,旨在提供高效、稳定的实时音视频服务。

        它支持多种流媒体协议,包括RTMP、HLS、HTTP-FLV以及WebRTC等,能够广泛应用于多个领域。

2、媒体流介绍

        RTMP(Real-Time Messaging Protocol):用于实时数据传输,支持音视频流的推送和播放,可无缝对接Adobe Flash Player和大部分直播推流软件。

        HLS(HTTP Live Streaming):兼容iOS设备和现代浏览器,无需插件或Flash。

        WebRTC:支持低延迟、高质量的浏览器间音视频通信。

        HTTP-FLV是一种流媒体传输协议,它将音视频数据封装成FLV(Flash Video)格式,并通过HTTP(HyperText Transfer Protocol)协议传输给客户端。

3、应用场景

         Srs可以应用在如下一些场景:

        (1)在线教育:支持大规模在线课程直播,保证教学质量和稳定性。

        (2)新闻直播:快速响应新闻事件,实现实时转播。

        (3)电竞赛事:低延迟传输,确保观众不错过任何精彩瞬间。

        (4)企业协作:提供高效的远程办公解决方案,包括视频会议和屏幕共享功能。

        (5)社交媒体:整合到社交应用中,让用户可以轻松分享即时动态。

二、SRS的http_api介绍、及漏洞

1、概述

        srs.conf 是srs流媒体服务器的一个核心配置文件,它包含了服务器运行所需的各种配置信息。是一个纯文本文件,使用类似JSON或nginx的配置文件格式,支持嵌套和注释。文件内容包含了多个配置项,每个配置项用于设置服务器的一个或多个参数。

2、http_api模块的作用

(1)提供HTTP API服务

        服务访问是通过该端口,外部系统或客户端可以发送HTTP请求到SRS服务器,从而访问SRS提供的各种API接口。这些接口通常用于查询服务器状态、管理视频流(如获取流列表、踢流等)、配置服务器参数等。

(2)管理和监控SRS服务器

  1.         状态监控:通过HTTP API,可以实时获取SRS服务器的运行状态信息,如CPU使用率、内存占用、网络连接情况等。这对于服务器的性能监控和故障排查非常有用。
  2.         流管理:管理员可以通过HTTP API对SRS服务器上的视频流进行管理,包括查询流信息、踢除非法流、修改流配置等。

(3)自定义开发

        API扩展是基于SRS提供的HTTP API接口,开发者可以自定义开发各种应用,如流媒体管理平台、视频直播系统等。这些应用可以通过HTTP请求与SRS服务器进行交互,实现复杂的功能。

三、漏洞扫描出现信息泄露的问题

1、概述

        在一般情况下,用于监听http_api模块的端口可以直接通过http的方式被访问,有可能会造成服务器信息泄露,可能会被非法人员通过针对性的手段进行攻击。

2、漏洞扫描结果

        如下图,为一个典型的漏洞扫描报告的部分。

(1)漏洞说明

(2)漏洞截图

A、网站存在api接口泄露

        相关的漏洞截图如下:

(通过上图我们可以看到网站存在api接口泄露)

   

B、网站存在该服务器接口处api泄露

通过上图可以看到网站存在该服务器接口处api泄露

3、泄露的信息

访问API的http接口时,在网页出现泄露的信息,如下图所示:

四、解决方式

1、解决方法

要解决api接口直接被http访问的问题,有多种方法,列举如下:

(1)使用安全的身份验证方式,如基于令牌(Token)的认证,OAuth等。

(2)实施适当的访问控制策略,确保只有经过授权的用户才能访问API接口。

(3)对所有的输入数据进行有效的验证和过滤,确保输入符合预期的格式和内容。

(4)使用白名单、正则表达式等机制,对输入数据进行有效的过滤,防止恶意输入导致的安全问题,如SQL注入、XSS等。

(5)在存储时对敏感数据进行加密处理,以防止数据泄露。

(6)对API接口进行定期的安全审计和漏洞扫描,及时发现和修复潜在的安全问题。

(7)注意及时更新和升级相关的组件和库,以修复已知的安全漏洞。

(8)禁止api目录下接口其他信息泄露。

2、身份验证的解决方式

        在http_api模块中,有一个名为Authentication的选项,可以开启对http_api的鉴权,详细配置如下:        

http_api {enabled on;listen xxxx;…… ……auth {enabled on;username admin;password admin;}}

        上述配置中,我们开启了auth的功能,并为访问api接口设置了用户名和密码。

        这样一来,访问这个api接口页面需要通过用户名密码的认证,大大降低了被针对攻击的概率。

        在企业进行漏洞扫描时,扫描到相关端口的访问需要认证,也可以增加服务器的安全性。

五、解决结果

        配置生效后,通过浏览器访问该服务器的API接口页面,如下图所示:

        可以看出,需要输入正确的用户名和密码才可以访问相关页面,漏洞被消除了。问题得到解决!


若想了解更多,文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨


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

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

相关文章

单位立方体各个面上的法向量,向量场以及每个面上的通量

单位立方体各个面上的法向量,向量场 F ( x , y , z ) \mathbf{F} (x, y, z) F(x,y,z) 以及每个面上的通量 flyfish 假设我们有一个单位立方体,向量场 F ( x , y , z ) \mathbf{F} (x, y, z) F(x,y,z) 在该立方体上。 法向量 :单位立方…

前端面试题14(贝塞尔曲线)

贝塞尔曲线在前端开发中经常用于创建平滑的动画路径或绘制复杂的矢量图形。贝塞尔曲线可以是一次、二次或三次的,其中三次贝塞尔曲线是最常见的,因为它提供了足够的灵活性来创建各种形状,同时保持计算上的可行性。 下面我将解释三次贝塞尔曲…

LabVIEW幅频特性测试系统

使用LabVIEW软件开发的幅频特性测试系统。该系统整合了Agilent 83732B信号源与Agilent 8563EC频谱仪,通过LabVIEW编程实现自动控制和数据处理,提供了成本效益高、操作简便的解决方案,有效替代了昂贵的专用仪器,提高了测试效率和设…

一款EF Core下高性能、轻量级针对分表分库读写分离的解决方案

ShardingCore项目介绍 ShardingCore是一款开源、简单易用、高性能、普适性,针对EF Core生态下的分表分库的扩展解决方案,支持EF Core2的所有版本,支持EF Core2的所有数据库、支持自定义路由、动态路由、高性能分页、读写分离的一款EF Core拓展…

华为云生态和快速入门

华为云生态 新技术催生新物种,新物种推动新生态 数字技术催生各类运营商去重塑并颠覆各行业的商业模式 从业务层面看,企业始终如一的目标是业务增长和持续盈利,围绕这些目标衍生出提质、增效、降本、安全、创新和合规的业务诉求&#xff0c…

本迪戈和阿德莱德银行与MongoDB合作, 利用生成式AI对银行核心技术进行现代化改造

MongoDB公司(纳斯达克股票代码:MDB)近日宣布与本迪戈和阿德莱德银行 (Bendigo and Adelaide Bank,澳大利亚证券交易所股票代码:BEN)建立合作伙伴关系。 本迪戈和阿德莱德银行将使用MongoDB Atlas对其银行核…

【PTGui、Pano2VR6、UE4】VR全景拍摄及漫游交互制作操作实例(更新中)

一、基本思路 首先进行VR全景拍摄,获取高质量的全景图像;然后使用PTGui进行图像拼接,确保图像的连续性与准确性;接着利用Pano2VR6进行VR漫游的制作,添加交互元素与多媒体内容;最后进行作品的调试与优化&am…

条件筛选1-4题(30 天 Pandas 挑战)

条件筛选 1. 相关知识点1.1 query条件或查询1.2 query条件与查询1.3 存在查询及列名修改1.4 条件查询,相等1.5 删除重复值1.6 排序 2. 题目2.1 大的国家2.2 可回收且低脂的产品2.3 从不订购的客户2.4 文章浏览 I 1. 相关知识点 1.1 query条件或查询 # |或 world.q…

CUDA编程基础

文章目录 1、GPU介绍2、CUDA程序进行编译3、CUDA线程模型3.1、一维网格一维线程块3.2、二维网格二维线程块3.3、三维网格三维线程块3.3、不同组合形式 4、nvcc编译流程5、CUDA程序基本架构6、错误检测函数6.1、运行时API错误代码6.2、检查核函数 7、CUDA记时7.1、记时代码7.2、…

Google Earth Engine(GEE)——控制台ui.Textbox复制你想要的textbox

结果 函数: ui.Textbox(placeholder, value, onChange, disabled, style) A textbox that enables the user to input text information. Arguments: placeholder (String, optional): The placeholder text to display when the textbox is empty. Defaults to none. …

VBA语言専攻T3学员领取资料通知0706

T3学员领取资料通知0706 各位学员∶本周MF系列VBA技术资料增加641-645讲,T3学员看到通知后请免费领取,领取时间7月5日晚上19:00-7月6日晚上19:00。本次增加内容: MF641:前个窗体组合框选项联动下个组合框 MF642:工作表中数据选项联动下个数据验证 MF…

技术驱动旅游创新!深度解析景区导览小程序的地图渲染与AR导航技术

随着现代生活节奏的加快,人们在外出旅游时更倾向于轻便出行,携带导览地图已成为过去。然而,面对景区广阔的面积和众多景点,游客常常感到迷茫,难以快速定位到自己所需的地点。景区导览小程序让游客只需搜索景区名称&…

人工智能系列-NumPy(二)

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 链接数组 anp.array([[1,2],[3,4]]) print(第一个数组:) print(a) print(\n) bnp.array([[5,6],[7,8]]) print(第二个数组:) print(b) print(\n) print…

zigbee笔记:六、看门狗定时器(Watch Dog)

一、看门狗基础 1、看门狗功能: 由于单片机的工作常常会受到来自外界电磁场的干扰,造成各种寄存器和内存的数据混乱,会导致程序指针错误等,程序运行可能会陷入死循环。程序的正常运行被打断,由单片机控制的系统无法继…

Motion Guidance: 扩散模型实现图像精确编辑的创新方法

在深度学习领域,扩散模型(diffusion models)因其能够根据文本描述生成高质量图像而备受关注。然而,这些模型在精确编辑图像中对象的布局、位置、姿态和形状方面仍存在挑战。本文提出了一种名为“运动引导”(motion gui…

【数据库了解与学习】

1.下载所需版本安装包 1.1将所需文件压缩包以及安装包放在你选择的任意一盘,新建一个没有文字和空格的文件夹 1.2双击打开安装包,选择Custom自定义模式然后点击右下方的Next 1.4三连点击1,再点击箭头出现3,选中3出现4,…

Infinitar链游新发展新机遇

区块链游戏市场在近年来经历了显著增长,吸引了大量的投资和关注。随着加密货币和NFT(非同质化代币)概念的普及,越来越多的投资者、游戏开发者和看到了区块链技术在游戏领域的应用潜力,纷纷涌入市场。区块链游戏的用户量…

Aigtek功率放大器的参数及应用是什么

功率放大器是电子电路中的重要组成部分,用于将输入信号的功率增加到更高的水平。它们在各种电子设备和应用中发挥着关键作用。下面Aigtek安泰电子将介绍功率放大器的主要参数以及它们在不同领域的应用。 1.功率放大器的基本参数 增益 功率放大器的增益是指输出信号的…

android应用的持续构建CI(五)-- 应用管理

一、ER设计 渠道:应用发布的渠道,To B的话,可能是学校、租户等;To C的话,渠道则是不同厂商的应用市场。审核:jenkins构建应用完成后,管理后台生成应用的审核记录。 下面是每个实体详细的字段&a…

昇思25天学习打卡营第17天(+1)|Diffusion扩散模型

1. 学习内容复盘 本文基于Hugging Face:The Annotated Diffusion Model一文翻译迁移而来,同时参考了由浅入深了解Diffusion Model一文。 本教程在Jupyter Notebook上成功运行。如您下载本文档为Python文件,执行Python文件时,请确…