API安全——SSRF服务端请求伪造的原理以及防范

这篇具有很好参考价值的文章主要介绍了API安全——SSRF服务端请求伪造的原理以及防范。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SSRF全称Server-Side Request Forgery,服务端请求伪造。
在最新的2023 OWASP中API 安全的Top10榜单中,ssrf排第7。

易受攻击原因

我们在开发过程中,通常使用API 获取远程时出现服务器端请求伪造 (SSRF) 缺陷 资源,而不验证用户提供的 URL。它使攻击者能够 强制应用程序将精心编制的请求发送到意外目标, 即使受到防火墙或VPN的保护。

什么是SSRF(服务器端请求伪造)?

SSRF(服务器端请求伪造)是一种安全漏洞,它允许攻击者引诱服务器发起服务器本不打算进行的请求。这种攻击的关键在于,攻击者可以通过服务器发起的请求,访问其无法直接访问的网络资源。

SSRF攻击的工作原理

攻击者通过发送含有特定数据的请求(通常是URL)到服务器,引导服务器访问该URL。这个URL可能指向内部网络中的资源,比如数据库、内部web服务器等。这种攻击手法使攻击者能够绕过防火墙,进入内部网络进行攻击。

攻击场景示例

1、用户头像/图片上传

例如,用户在某个网站上上传个人资料图片。通常情况下,用户可以选择从他们的本地上传图像文件,或者直接提供 URL 图像。这个时候我们假设用户使用图像上传时选择提供url,这个时候会触发以下api:

POST /api/profile/upload_picture
{
  "picture_url": "http://example.com/profile_pic.jpg"
}

这个时候,攻击者可以发送恶意url参数来测试API对应的服务端信息,例如
{ "picture_url": "localhost:8080" }
那么攻击者能够通过响应时间,判断目标端口是否打开,从而进行更深入的渗透操作

2、攻击事件查询

有些团队在开发监控系统时更习惯于直接调取安全产品平台中安全事件的查询接口,例如SIEM类平台的事件接口,假设这里有一个请求,注意看url这个参数

POST /graphql

[
  {
    "variables": {},
    "query": "mutation {
      createNotificationChannel(input: {
        channelName: \"ch_piney\",
        notificationChannelConfig: {
          customWebhookChannelConfigs: [
            {
              url: \"http://www.siem-system.com/create_new_event\",
              send_test_req: true
            }
          ]
          }
      }){
        channelId
    }
    }"
  }
]

这个时候攻击者可以利用这个流,修改Url参数使API 请求敏感资源,例如公开凭据的内部云的元数据

POST /graphql

[
  {
    "variables": {},
    "query": "mutation {
      createNotificationChannel(input: {
        channelName: \"ch_piney\",
        notificationChannelConfig: {
          customWebhookChannelConfigs: [
            {
              url: \"http://169.254.169.254/latest/meta-data/iam/security-credentials/ec2-default-ssm\",
              send_test_req: true
            }
          ]
        }
      }) {
        channelId
      }
    }
  }
]

SSRF的防御策略

以下是一些防御SSRF攻击的建议:

  1. 过滤输入和输出: 对任何用户输入的数据进行严格的验证和过滤,防止恶意输入导致的攻击。

  2. 禁止或限制从服务器发出的请求: 尽可能地减少或禁止服务器向外部发起的请求,限制服务器发起请求的目标范围。

  3. 采用最新的安全漏洞修复: 随着时间的推移,可能会有新的安全漏洞被发现。一旦有新的漏洞被发现,应尽快对其进行修复,防止成为攻击的目标。

  4. 实施网络隔离: 将服务器放置在DMZ区域,从而限制攻击者能够接触的网络资源。

  5. 使用安全库和框架: 使用安全的库和框架可以有效地减少编码错误,从而防止漏洞的产生。

以上就是SSRF攻击的一些基本原理和防御策略。理解并遵守这些策略,可以有效地保护我们的服务器不受SSRF攻击的威胁。文章来源地址https://www.toymoban.com/news/detail-518036.html

到了这里,关于API安全——SSRF服务端请求伪造的原理以及防范的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务端请求伪造(SSRF)及漏洞复现

    服务器会根据用户提交的URL 发送一个HTTP 请求。使用用户指定的URL,Web 应用可以获取图片或者文件资源等。典型的例子是百度识图功能。 如果没有对用户提交URL 和远端服务器所返回的信息做合适的验证或过滤,就有可能存在“请求伪造”的缺陷。“请求伪造”,顾名思义,

    2024年02月09日
    浏览(25)
  • 服务端请求伪造(SSRF)及漏洞复现

    服务器会根据用户提交的URL发送一个HTTP请求。使用用户指定的URL,Web应用可以获取图片或者文件资源等。典型的例子是百度识图功能。 如果没有对用户提交URL和远端服务器所返回的信息做合适的验证或过滤,就有可能存在“请求伪造\\\"的缺陷。“请求伪造”,顾名思义,攻击

    2024年02月09日
    浏览(27)
  • 【CTF】SSRF服务器端请求伪造

    漏洞危害: 扫描内网开放端口服务 向内网中的任意主机的任意端口发送payload来攻击内网服务 向内网发动DOS攻击 攻击内网的Web应用(如直接SQL注入、XSS攻击等) 利用file、gopher、dict协议来读取本地文件、执行命令等 漏洞原理: 从pikachu中来看: 例子: 然后,使用百度翻译翻

    2024年02月04日
    浏览(25)
  • 【SSRF漏洞-01】服务端请求伪造靶场实战

    SSRF(Server-Side Request Forgery, 服务端请求伪造) 是一种 由攻击者构造请求,由服务器端发起请求的安全漏洞,本质上是属于信息泄露漏洞 。如果“请求伪造”发生在服务器端,那么这个漏洞就叫做“服务器端请求伪造”即SSRF。 SSRF是一种攻击者发起的伪造由服务器端发起请求的

    2024年02月04日
    浏览(24)
  • OWASP之SSRF服务器伪造请求

    SSRF(Server-Side Request Forgery:服务器端请求伪造) 是指攻击者能够从易受攻击 的Web应用程序发送精心设计的请求的对其他网站进行攻击。 SSRF攻击的目标是从外网无法访问的内部系统。利用一个可以发起网络请求的服务,当做跳板来攻击其它服务。简单来说就是:A让B帮忙访问C

    2024年02月10日
    浏览(25)
  • CSRF(跨站请求伪造)和SSRF(服务端请求伪造)漏洞复现:风险与防护方法

    这篇文章旨在用于网络安全学习,请勿进行任何非法行为,否则后果自负。  环境准备 示例: 假设用户在银行网站A上登录并保持会话活动,同时他也在浏览其他网站。攻击者在一个不可信任的网站B上创建了一个恶意链接,当用户点击该链接时,会自动向银行网站A发送一个

    2024年02月10日
    浏览(34)
  • Web漏洞之SSRF(服务器端请求伪造)

    服务器会根据用户提交的URL 发送一个HTTP 请求。使用用户指定的URL,Web 应用可以获取图片或者文件资源等。典型的例子是百度识图功能。 如果没有对用户提交URL 和远端服务器所返回的信息做合适的验证或过滤,就有可能存在“请求伪造”的缺陷。“请求伪造”,顾名思义,

    2024年02月04日
    浏览(33)
  • 新后端漏洞之----SSRF漏洞(服务端请求伪造)

    这几天各种技术面试接踵而至,压得我喘不过气了!然后面试官问了我这个SSRF漏洞原理和利用方式以及防御手段,当然同时还问了好几个Top10漏洞! 危害:一个不符合预期的请求就可能导致整个内网沦陷 全名 :Server Side Request Forgery 基本原理:攻击者构造恶意的URL,由服务器

    2024年02月11日
    浏览(24)
  • Java代码审计安全篇-SSRF(服务端请求伪造)漏洞

    前言:  堕落了三个月,现在因为被找实习而困扰,着实自己能力不足,从今天开始 每天沉淀一点点 ,准备秋招 加油 注意: 本文章参考qax的网络安全java代码审计,记录自己的学习过程,还希望各位博主 师傅 大佬 勿喷,还希望大家指出错误 SSRF漏洞  SSRF(Server-side Request

    2024年03月15日
    浏览(27)
  • 跨站请求伪造 CSRF 漏洞原理以及修复方法

    漏洞名称 :跨站请求伪造(CSRF) 漏洞描述 : 跨站请求伪造攻击,Cross-Site Request Forgery(CSRF),攻击者在用户浏览网页时,利用页面元素(例如img的src),强迫受害者的浏览器向Web应用服务器发送一个改变用户信息的HTTP请求。CSRF攻击可以从站外和站内发起。从站内发起CS

    2024年02月20日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包