SSER服务器请求伪造

SSRF漏洞

文章目录

  • SSRF漏洞
    • 概述
    • SSRF原理
    • SSRF危害
    • SSRF利用
      • 文件访问
      • 端口扫描
      • 本地文件读取
      • 内网应用指纹识别
      • 攻击内网web应用
        • 注意:
    • SSRF防御
      • 过滤输入
      • 过滤输出
    • SSRF挖掘

​ 服务器会根据用户提交的 URL 发送一个 HTTP 请求。使用用户指定的 URL,Web 应用可以获取图片或者文件资源等

ssrf攻击的目标是内网应用,通过ssrf可以访问 根服务器下的其他机器可以绕过一些限制

概述

如果没有对用户提交 URL 和远端服务器所返回的信息做合适的验证或过滤,就有可能存在“请求伪造”的缺陷。“请求伪造”,顾名思义,攻击者伪造正常的请求,以达到攻击的目的。如果“请求伪造”发生在服务器端,那这个漏洞就叫做“服务器端请求伪造”,英文名字 Server Side Request Forgery,简称 SSRF。

SSRF 是一种由攻击者发起的伪造服务器发送的请求的一种攻击。

SSRF原理

  • 服务器接受了来自于客户端的 URL 地址,并由服务器发送该 URL 请求。
  • 对用户输入的URL 没有进行恰当的过滤,导致任意URL 输入。
  • 没对响应的结果进行检验,直接输出。

SSRF危害

  • 端口扫描
  • 内网web 应用指纹识别
  • 攻击内网应用
  • 读取本地文件

SSRF利用

文件访问

可访问其他网站下的文件

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

端口扫描

构造不同的请求,来实现不同的功能

构造服务器请求伪造,为127.0.0.1这个请求是服务器自己发送所以访问的目标服务器为自己

访问之后更换不同的端口,观察浏览器的回应判断是否开启此端口

curl.php?url=http://127.0.0.1:3389/

本地文件读取

根据file协议进行文件读取

  • 需要有绝对路径
curl.php?url=file://C:/

内网应用指纹识别

根据一些系统下是有版本的显示文件的,通过ssrf可以jin’x

攻击内网web应用

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

根据实际情况相结合相结合,攻击手法有sql注入,xss注入等

注意:

在后面自己构造的url中需要传参时,需要对自己构造的url中的空格进行二次编码,如果是sql注入可以用/**/注释来代替空格

SSRF防御

过滤输入

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

过滤输出

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

SSRF挖掘

WEB功能 URL关键字
分享 share
转码服务 wap
在线翻译 url
图片加载与下载 link
图片、文章收藏功能 src
未公开的API实现 source
target
u
3g
display
sourceURL
imageURL
domain

你可能感兴趣的:(SSRF,漏洞,web安全,渗透)