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

SSRF服务器端请求伪造

时间:2024-03-05 19:24:23浏览次数:157  
标签:请求 SSRF 伪造 漏洞 地址 内网 服务器端

SSRF服务器端请求伪造
凡是发起网络请求的地方,就有可能涉及ssrf
1.SSRF漏洞定义:
SSRF(Server-side RequestForge )服务器端请求伪造,由于服务端提供了从其他服务器应用获取数据的功能,但没有对地址和协议等做过滤和限制。使得攻击者可以利用存在缺陷的web应用作为代理,攻击其远程和本地的服务器。正是因为它是由服务端发起的,所以它能绕过防火墙去访问内网里的数据,请求到与它相连而与外网隔离的内部系统
C/S 客户端和服务端
2.漏洞产生原因
大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,文档,等等。

3.漏洞利用:
引发SSRF漏洞的几个函数
file_get_contents()  获取本地或者远程文件内容
fsockopen()              获得套接字信息
curl_exec                  随意攻击内网中所有应用
fopen()                      打开文件或者URL
readfile()                   输入一个文件


2.fsockopen(
功能:获得套接字信息
开启:编辑 PHPini中allow_url_fopen 选项allow_url_fopen = On
参数:
hostname:如果安装了0penSSL,那么你也许应该在你的主机名地址前面添加访问协议sst://或者是tls://,从而可以使用基于TCP/IP协议的SSL或者TLS的客户端连接到远程主机。
port:端口号。如果对该参数传一个-1,则表示不使用端口,例如unix://。
errno:如果errno的返回值为0,而且这个函数的返回值为 FALSE,那么这表明该错误发生在套接字连接(connect0))调用之前,导致连接失败的原因最大的可能是初始化套接字的时候发生了错误。
errstr:错误信息将以字符串的信息返回,
timeout:设置连接的时限,单位为秒,

 

3.curl_exec()
功能:执行一个CURL会话,这个函数应该在初始化一个CURL会话并且全部的选项都被设置后被调用。
语法:mixed curl_exec(resource $ch )
参数:ch 由curl_imit0 返回的 CURL句柄。

 


5.漏洞危害:
具体危害取决于,内网和本机涉及哪些漏洞有什么功能1.对目标服务器所在的内网进行IP存活性扫描和端口扫描2.利用扫描的指纹信息判断开放的服务,从而对内网的主机进行攻击3.识别内网WEB应用指纹,判断应用类型进行攻击4.使用特定协议攻击应用(gopher、dict、file、FTP/ SFTP等)
5.扫描内网开放的端口
6.读取主机任意文件
7.攻击内网应用,如redis,mysql等
8.可以向内部任意主机的任意端口发送精心构造的数据包payload

6.漏洞挖掘思路:
白盒:找到能够发起请求的函数
黑河:进行模糊测试

7.漏洞防范!
1.通过正则表达式编写不允许访问本机和内网
2.用户指定(“或者预埋在前端的请求”)的地址进行资源请求,则请做好目标地址的过滤3.限制协议只为HTTP、HTTPS,减少其他如fie://、gopher://和ftp://等可能引起的问题协议
4.禁止3xx跳转,重定向
5.设置URL白名单或者限制内网IP

 

8. 危险函数

 

标签:请求,SSRF,伪造,漏洞,地址,内网,服务器端
From: https://www.cnblogs.com/aidy/p/18054694

相关文章

  • ctfshow-ssrf
    web351<?phperror_reporting(0);highlight_file(__FILE__);$url=$_POST['url'];$ch=curl_init($url);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);$result=curl_exec($ch);curl_close($ch);echo($result);?&g......
  • 全球20家科技公司承诺,联合打击“AI深度伪造”的欺诈内容
    国外媒体报道,在2月17日德国慕尼黑的一次安全会议上,包括亚马逊、谷歌、IBM、LinkedIn、McAfee、Meta、Microsoft、OpenAI、Snap、TikTok和X等20家世界领先的科技公司宣布,将联合打击“深度伪造”信息。会上,他们集体签署一项技术协议,以抵制欺骗性的人工智能生成的内容,减少欺骗性人......
  • [NISACTF 2022]easyssrf
    先按照最简单的试试 那就试试/fl4g,需要使用file伪协议进行文件读取,然后得到新的提示 进入新的目录 直接构造路劲进行flag的读取 也可以利用别的伪协议url?file=php://filter/read=convert.base64-encode/resource=/flag  ......
  • 大文件夹集中伪造乱码
    importosimportuuidfrompathlibimportPath#定义一个函数来生成唯一的文件名defgenerate_unique_filename(extension):returnf"{uuid.uuid4()}{extension}"#定义支持的图片文件扩展名supported_extensions=['.jpg','.jpeg','.png',�......
  • SSRF漏洞
    SSRF意为服务端请求伪造(Server-SideRequestForge)。攻击者利用SSRF漏洞通过服务器发起伪造请求,这样就可以访问内网的数据,进行内网信息探测或者内网漏洞利用。SSRF漏洞形成的原因是:应用程序存在可以从其他服务器获取数据的功能,但是对服务器的地址并没有做严格的过滤,导致应用程序......
  • 如何修改服务器端口号
    如何修改服务器端口号一、检查当前的端口号在开始修改端口号之前,我们需要先检查当前的端口号。在大多数情况下,服务器的默认端口号为80或443。要查看服务器正在使用的端口号,请打开命令提示符并输入以下命令:netstat-ano|findstr:80这将显示所有正在使用端口号80的进程及其PID......
  • 前端密码安全发送至服务器端
    用户登录时,密码应该通过安全的方式发送到服务器,然后服务器进行验证,并且不应该将密码直接包含在JWT中。以下是一些常见的方法来确保密码传输的安全性:使用HTTPS:确保登录请求通过HTTPS协议进行传输,这样可以加密通信并防止中间人攻击。哈希密码:在客户端将密码哈希化之后再发送......
  • 服务器端请求伪造 (SSRF)
    什么是SSRF?服务器端请求伪造是一种Web安全漏洞,它允许攻击者使服务器端应用程序向非预期位置发出请求。在典型的SSRF攻击中,攻击者可能导致服务器与组织基础结构中的仅限内部的服务建立连接。在其他情况下,它们可能能够强制服务器连接到任意外部系统。这可能会泄露敏感数据,例如授......
  • Java代码审计-SSRF
    SSRF漏洞SSRF(Server-SideRequestForgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部服务器系统。支持的协议fil......
  • miniweb开源的迷你HTTP服务器端软件
    前言全局说明MiniWeb是一个用C语言写成的HTTP服务器端软件,具有资源占用少、响应快速、跨平台(POSIX、*nux、Windows)等优点,支持常用的GET、POST算法及音/视频流媒体应用,可用来构建WEBSITE站点或VOD服务器等。MiniWeb是一个针对嵌入式应用而开发的微型WebServer,它占用资源少,工......