首页 > 其他分享 >服务端请求伪造(SSRF)

服务端请求伪造(SSRF)

时间:2024-12-25 16:28:35浏览次数:5  
标签:http 请求 SSRF url URL 攻击者 伪造 服务端

一、概述

SSRF(Server-Side Request Forgery,服务端请求伪造),是攻击者让服务端发起构造的指定请求链接造成的漏洞。由于存在防火墙的防护,导致攻击者无法直接入侵内网;这时攻击者可以以服务器为跳板发起一些网络请求,从而攻击内网的应用及获取内网数据。

二、成因

由于服务端提供了从其它服务器获取数据的功能,比如使用户从指定的URL web应用获取图片、下载文件、读取文件内容等。

但又没有对目标地址做严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发送请求,并返回对该目标地址请求的数据。

最常见的例子:攻击者传入一个未经验证的URL,后端代码直接请求这个URL,就会造成SSRF漏洞。

三、SSRF漏洞危害:

扫内网
向内部任意主机的任意端口发送精心构造的Payload
DOS攻击(请求大文件,始终保持连接Keep-Alive Always)
攻击内网的web应用,主要是使用GET参数就可以实现的攻击(比如struts2,sqli等)
利用file协议读取本地文件等

四、SSRF漏洞利用

1、文件访问

?url=http://www.baidu.com 
?url=http://www.baidu.com/img/bd_logo.png 
?url=http://www.baidu.com/robots.txt

2、端口扫描

?url=http://127.0.0.1:80 
?url=http://127.0.0.1:3306 
?url=dict://127.0.0.1:3306

?url=http://10.10.10.1:22 
?url=http://10.10.10.1:6379

3、读取本地文件

?url=file:///c:/windows/system32/drivers/etc/hosts 
?url=file:///etc/passwd

?url=file:/c:/www/ssrf/ssrf_curl.php

4、内网应用指纹识别

<Directory "c:\phpstudy_2016\www\phpMyAdmin"> 
    #Order allow,deny
	Order deny,allow 
    deny from all			# 拒绝所有
	allow from 127.0.0.1	# 只允许本机

</Directory>

修改httpd_config配置文件,配置完后在内网中可以访问到phpMyAdmin

?url=http://127.0.0.1/phpmyadmin/readme

查看phpMyAdmin版本

5、攻击内网Web应用

通过SSRF可以实现对内网的访问,从而可以攻击内网应用

五、SSRF防御

1、过滤输入

  • 限制协议,仅允许 http 或 https 协议。
  • 限制IP,避免应用被用来获取内网数据,攻击内网。
  • 限制端口,限制请求端口为常用端口。

2、过滤输出

  • 过滤返回信息,只要不符合要求的,全部过滤。
  • 统一错误信息,让攻击无法对内网信息进行判断。

3、内部网络隔离

  • 将服务器与内部资源隔离开,并使用防火墙等措施限制对内部网络的访问。

4、授权验证和访问控制

  • 实施严格的授权验证和访问控制机制,确保仅授权用户可以访问受限资源。

5、安全编码实践

  • 开发人员应遵循安全编码指南,进行输入验证和输出编码,以减少漏洞发生的可能性。

可能出现的地方

1.社交分享功能:获取超链接的标题等内容进行显示

2.转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览

3.在线翻译:给网址翻译对应网页的内容

4.图片加载/下载:例如富文本编辑器中的点击下载图片到本地;通过URL地址加载或下载图片

5.图片/文章收藏功能:主要其会取URL地址中title以及文本的内容作为显示以求一个好的用具体验

6.云服务厂商:它会远程执行一些命令来判断网站是否存活等,所以如果可以捕获相应的信息,就可以进行ssrf测试

7.网站采集,网站抓取的地方:一些网站会针对你输入的url进行一些信息采集工作

8.数据库内置功能:数据库的比如mongodb的copyDatabase函数

9.邮件系统:比如接收邮件服务器地址

10.编码处理, 属性信息处理,文件处理:比如ffpmg,ImageMagick,docx,pdf,xml处理器等

11.未公开的api实现以及其他扩展调用URL的功能:可以利用google 语法加上这些关键字去寻找SSRF漏洞

一些的url中的关键字:share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain……

12.从远程服务器请求资源(upload from url 如discuz!;import & expost rss feed 如web blog;使用了xml引擎对象的地方 如wordpress xmlrpc.php)

了解SSRF漏洞,这一篇就足够了......-CSDN博客 这里面写的很全,我有一部分是从里面CV的

标签:http,请求,SSRF,url,URL,攻击者,伪造,服务端
From: https://blog.csdn.net/ALe0721/article/details/144648261

相关文章

  • 卷轴模式服务端功能架构实例分析
    卷轴模式系统管理端卷轴任务配置详细解析,以下是卷轴任务系统服务端的功能模块:1.会员模块;2.会员等级任务设置;3.签到任务设置;4.会员权益;5.分销体系设置;6.团队分润模块;7.积分模块;8.任务包模型;9.交易体系;10.商城系统;11.广告模块;12.财务模块;13.数据统计;14.投诉处理模块;15.系统基......
  • 【C++boost::asio网络编程】有关服务端退出方法的笔记
    有关服务端退出方法的笔记C风格的信号关闭boost::asio中的关闭方式原来服务端的main函数如下intmain(){ try { boost::asio::io_contextioc; Servers(ioc,8888); ioc.run(); } catch(conststd::exception&) { } return0;}  上面弊端在......
  • 我的世界服务端插件安装 AuthMe用户登录插件安装
    Minecraft服务端插件安装-AuthMe用户登录插件安装需要准备AuthMe插件AuthMe-5.6.0.jar用户登录插件例如使用/register<密码><确认密码>进行注册,使用/login<密码>进登录 AuthMe插件AuthMe是一个广泛用于Minecraft服务器的插件,主要用于账户验证和注册流程。......
  • 合合信息在视觉内容安全领域的创新与应用-应对伪造挑战的前沿进展
    引言2024年,中国图象图形学学会青年科学家会议上,上海合合信息科技股份有限公司的图像算法研发总监郭丰俊博士围绕“视觉内容安全技术的前沿进展与应用”进行了主题分享。随着人工智能(AI)技术的迅猛发展,尤其是深度学习和生成对抗网络(GANs)等技术的成熟,视觉内容伪造技术日趋复杂......
  • 千峰教育--Netty 再学习 1 网络模型概述(BIO、NIO、AIO)、BIO 逻辑实现及其局限性(单线程
    课程介绍1网络模型概述2Channel详解3Buffer详解4Selector详解5NIO综合案例-聊天室6AIO概念及实现 1网络编程IO模型介绍1.1BLockingIOBlockingIO也称BIO,及同步阻塞IO。Java的io包基于流模型实现,提供了FIle,FileInputStream,FileOutputStream等输入输出流......
  • ssrf漏洞
    SSRF漏洞一.前置知识NATSSRF:servicesiderequestforgery服务器请求伪造NAT:NetworkAddressTransition网络地址转换静态NAT地址转换:内网转化为公网ipNAT端口映射:通过防火墙NAT可以实现把私网ip端口映射到公网ip端口访问curl函数三件套curl_init:初始化一个Curl会话......
  • Kafka服务端认证日志导致磁盘空间占满案例
    背景    某IP为44.2的服务器挂载的硬盘服务器磁盘空间占满突然故障排查过程查看docker容器磁盘SIZE查看docker容器使用磁盘大小此目前单独挂载路劲/data/docker使用du-sh*查看,发现kafka容器消耗91G空间查看具体容器,判断是kafkakafka容器状态是客户端认证识机制,Kafka日......
  • CTFHub-Web-SSRF
    1.CTFHub-内网访问输入:http:127.0.0.1/flag.php得到 2.CTFHub-伪协议读取文件输入:file:///var/www/html/flag.php,查看页面的源代码。(该路径为flag.php文件的路径)3.CTFHub-端口扫描 (1)输入http://127.0.0.1:8000发现页面没反应,实行爆破。 (2)进行抓包  (3)清除pa......
  • 使用 1panel图形化部署LobeChat服务端数据库版
    LobeChat它是什么?LobeChat是一个现代化设计的开源ChatGPT/LLMs聊天应用与开发框架,支持语音合成、多模态、可扩展的(functioncall)插件系统,一键免费拥有你自己的ChatGPT/Gemini/Claude/Ollama应用。它的特性?多模型服务商支持;支持本地大语言模型(LLM);模型视觉识别......
  • sse 浏览器端技术使用,Server-Sent Events ,EventSource,来建立长连接保持与服务端的通讯
    Server-SentEvents(SSE)是一种允许服务器向客户端推送更新的技术。它使用HTTP协议,通过一个持久的HTTP连接,服务器可以在任何时间发送新的事件到客户端。SSE通常用于实时更新,如股票价格、新闻更新等。以下是一个简单的SSE使用示例:服务器端(Node.js+Express)constex......