首页 > 其他分享 >SSRF漏洞

SSRF漏洞

时间:2023-02-10 16:48:10浏览次数:56  
标签:协议 SSRF URL IP 端口 漏洞

SSRF漏洞

1、SSRF漏洞简介

SSRF(服务器端请求伪造)是一种由攻击者构造特殊形成的请求,并且由指定服务器端发起恶意请求的一个安全漏洞。 一般情况下,SSRF漏洞的攻击目标是攻击者无法直接访问的内网系统。

SSRF漏洞大多是由于服务端提供从其它服务器应用获取数据的功能而没有对目标地址做过滤和限制。

2、SSRF漏洞常见位置

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

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

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

  • 图片加载/下载:富文本编辑器中的点击下载图片到本地、通过URL地址加载或下载图片

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

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

  • 网站采集、抓取的地方:一些网站会针对输入的URL进行一些信息采集工作

  • 数据库内置功能:数据库的mongodb的copyDatabase函数等

  • 邮件系统:接收邮件服务器地址

  • 编码、属性信息、文件处理:ffpmg,ImageMagick,docx,pdf,xml处理器等

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

    • URL关键字:share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain……

  • 从远程服务器请求资源

3、SSRF漏洞用途

  • 内外网的端口和服务扫描

  • 主机本地敏感数据的读取

  • 内外网主机应用程序漏洞的利用

  • 内外网web站点漏洞的利用

4、SSRF常见函数

php函数(函数在调用期间,攻击者可任意控制传递进来的参数造成危害):

file_get_contents()

file_get_contents() 函数是用来将文件的内容读入到一个字符串中的首选方法

fsockopen()

fsockopen() 函数打开一个网络连接或者一个Unix套接字连接

curl_exec()

curl_exec() 执行一个 curl 会话

SoapClient()

SoapClient() 类为SOAP 1.1,SOAP 1.2服务器提供客户端。它可以在 WSDL 或非 WSDL 模式下使用。

5、SSRF漏洞验证方法

1)通过抓包分析发送的请求是否是由服务器发送的,从而来判断是否存在SSRF漏洞。

2)在页面源码中查找访问的资源地址 ,资源地址类型为www.baidu.com/xxx.php?image=(地址)可能存在SSRF漏洞

6、SSRF漏洞利用

6.1 HTTP/HTTPS协议

当前应用获取用户传递过来的URL参数后端发送请求,并且将最终的请求结果返回到HTML前端页面。

http://[IP]/xxx.php?url=[IP]
http://[IP]/xxx.php?url=[IP]

SSRF漏洞服务器所在的内网大小、互通的网段,限制了当前能够获取到资源的数量。

如果服务器端对请求资源的协议做了限制,可以通过HTTPS协议进行绕过。

6.2 file协议

服务器端对请求资源所使用的协议方式没有进行限制就可以通过file协议访问当前服务器的本地文件

http://[IP]/xxx.php?url=file:///[路径]

6.3 dict协议

通过dict协议可以远程访问一个指定的tcp端口,并且会返回端口所提供的服务的部分组件信息

当目标端口开放(有服务信息显示,但会报错):

http://[IP]/xxx.php?url=dict://[IP]:[端口]

当目标端口关闭(无任何显示):

http://[IP]/xxx.php?url=dict://[IP]:[端口]

通过差异的对比,可确认内网端口开放情况。

6.4 Gopher协议

Gopher 协议是 HTTP 协议出现之前,在 Internet 上常见且常用的一个协议。现在 Gopher 协议已经慢慢淡出历史。

Gopher 协议在 SSRF 中发挥重要作用。利用此协议可以攻击内网的FTP、Telnet、Redis、Memcache,也可以进行 GET、POST 请求。

利用gopher协议可以getshell,使用ssrf漏洞结合gopher协议可以攻击内网redis。

7、防御

  • 禁用不需要的协议(如:file:///、gopher://,dict://等),仅允许HTTP和HTTPS请求

  • 统一错误信息,防止根据错误信息判断端口状态

  • 禁止302跳转,或每次跳转都检查新的Host是否是内网IP,直到抵达最后的网址

  • 设置URL白名单或者限制内网IP

标签:协议,SSRF,URL,IP,端口,漏洞
From: https://www.cnblogs.com/HKalpa/p/17109474.html

相关文章

  • portswigger 靶场之 SSRF 篇
    Alllabs|WebSecurityAcademy(portswigger.net)1.针对本地服务器的基本SSRF易受攻击的参数是:库存检查功能目标:更改URL来访问http://localhost/admin并删除用......
  • 云原生场景下,如何缓减容器隔离漏洞,监控内核关键路径?
    导读:OpenCloudOS社区是由操作系统、软硬件厂商与个人共同倡议发起的操作系统社区项目,提供自主可控、绿色节能、安全可靠、高性能的下一代云原生操作系统,与生态伙伴一起打造......
  • 百里粮库,如何通过科技化手段弥补安全漏洞?​
    ​一、方案背景​粮库占地面积大,位置偏僻,粮仓分散、监测工作量大等问题一直是粮库管理的难点,通过部署智慧视频监控系统可得到有效解决,实现粮仓管理自动化、智能化的管理需求......
  • 【安全】漏洞复现及修复——CVE-2023-24055 keepass触发器注入获取明文密码
    writebyhomelander如要转载请注明出处谢谢:https://www.cnblogs.com/vitalemontea/p/17104168.html1、前言【仅供学习使用,切勿用在非法用途】虽说官方认为这......
  • 如何通过科技化手段弥补粮库安全漏洞?
    ​一、方案背景粮库占地面积大,位置偏僻,粮仓分散、监测工作量大等问题一直是粮库管理的难点,通过部署智慧视频监控系统可得到有效解决,实现粮仓管理自动化、智能化的管理需求。......
  • 一种基于简单的YAML的DSL的快速和可定制的漏洞扫描器
    介绍:Nuclei用于基于模板跨目标发送请求,从而实现零误报,并在大量主机上提供快速扫描。Nuclei提供多种协议的扫描,包括TCP、DNS、HTTP、SSL、File、Whois、WebSocket、Headless......
  • phpstudy 小皮web面板 RCE漏洞
    前几天爆出phpstudy小皮面板存在RCE漏洞,通过分析和复现发现本质上是一个存储型的XSS漏洞导致的RCE。这是一个很简单的1click的RCE,通过系统登录用户名输入处的XSS配合系统......
  • Vmware esxi 打漏洞补丁
    0x00准备去vmware官方下载补丁文件,上载至ESXI存储在打补丁之前,须将ESXI主机上的虚拟机关机且拍好快照或者迁移,生产环境中最好迁移;0x01打补丁cd/vmfs/volumns/Datas......
  • 【漏洞复现】Tomcat弱口令+后台getshell
    Tomcat7+WeakPassword&&BackendGetshellVulnerability1.弱口令vulhub部署好靶机环境以后;在登录窗口随机输入账号密码,如admin:123456;打开burp抓包,发现数据包中包......
  • 安卓应用漏洞学习case8–CVE-2020-6828
    安卓应用漏洞学习case8–CVE-2020-6828前期回顾漏洞免费实战部分-安卓应用层getLastPathSegment函数问题漏洞实战部分2-安卓应用ZipEntry对象问题实战漏洞实战部分3-C......