SSRF 概述

SSRF:服务端请求伪造

前期概述

SSRF是一种安全漏洞,允许攻击者通过欺骗服务器执行未经授权的网络请求。攻击者可以利用服务器的信任关系,使其发出对内部网络或其他受信任服务的请求,可能导致敏感信息泄露或进一步的攻击。

产生原理

服务端没有对攻击者提供的url进行限制和检测,导致攻击者可以以此为跳板攻击内网或其他服务器

PHP中下面函数的使用不当会导致SSRF

  • file_get_contents():从用户指定的url获取内容,然后指定一个文件名
    进行保存,并展示给用户
  • fsockopen():打开一个网络连接或者一个Unix套接字连接
  • curl_exec():用于执行指定的cURL会话
攻击目标

想要获取到目标总服务器的shell,但又无法进入到内网,那么这时就需要:

  1. 找该公司对外开放的服务,比如web服务,通过此服务攻击该公司内网
  2. 在上面寻找ssrf漏洞
查找方式

在web功能上找,有该漏洞的网站必定会读取上传的信息,跟注入攻击差不多,写个命令看看会不会执行,比如最简单的http://127.0.0.1,看看页面有没有什么异常情况

  • 文件上传
  • 在线转码
  • 在线翻译
攻击方式

利用伪协议攻击

  • file:在有回显的情况下,利用 file 协议可以读取系统文件

    协议格式:url=file://C:\\Windows\\System32\\config\\SAM

  • gopher:当探测内网或执行命令时需要发送 POST 请求,我们可以利用 gopher 协议
    协议格式:gopher://<host>:<port>/<gopher-path>

  • dict:一个字典服务器协议,通常用于让客户端使用过程中能够访问更多的字典源,能用来探测端口的指纹信息
    协议格式:dict://<host>:<port>/<dict-path>

防御
  • 禁用跳转
  • 禁用不需要的协议
  • 报错,回显统一信息,或不回显
  • 输入验证和过滤
  • 白名单控制
  • 限制协议和端口
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值