freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

解析Next.js中的SSRF漏洞:深入探讨盲目的SSRF攻击及其防范策略
AlbertJay 2025-02-08 15:54:13 30850
所属地 广东省

前言

在设计新型业务的现代着陆页时,尤其是那些主要由静态内容构成的页面,选择合适的技术栈至关重要。过去,企业通常依赖如WordPress这样的重型内容管理系统(CMS),这些系统虽然功能强大,但也带来了较大的攻击面。随着时间的发展,越来越多的企业开始转向更轻量级的解决方案,例如Nuxt、Hugo和Gatsby等静态网站生成器。特别是Next.js,它不仅能够处理静态内容,还支持丰富的服务器端功能,因此受到广泛欢迎。

尽管Next.js主要用于提供静态内容,但其默认启用了许多服务器端特性,这使得它成为安全研究中的一个热点领域,揭示了一些常见的配置错误及潜在的安全漏洞。本文将深入探讨Next.js中的图像优化组件以及与其相关的SSRF(服务器端请求伪造)漏洞,并解释如何将其转化为易于理解的内容。

_next/image组件

NextJS内置并默认启用了图像优化组件。这个理念很简单:如果有一张大图像duck.jpg,想要以较小的尺寸或动态尺寸提供,直接发送大文件给客户端并通过HTML调整大小是不经济的。相反,在React代码中引用这张图片,NextJS会自动调整其大小并缓存处理后的版本,避免每次请求都重新调整大小。

1739000123_67a7093ba07799598964f.png!small?1739000125255

该组件通过_next/imageAPI端点实现这一功能,用户访问这个URL时,NextJS向指定源地址发起请求,获取图像后进行处理。

https://xxxxx.com/_next/image?url=/duck.jpg&w=256&q=75

此外,NextJS允许通过remotePatterns功能从其他域名加载图像,只需在配置文件中添加相应的域名即可。然而,如果不谨慎地配置了白名单,可能会无意中允许从任意网站加载图像,这就为SSRF攻击提供了机会。攻击者可以通过构造特定URL访问内部网络资源或触发跨站脚本攻击(XSS),尤其是在旧版本NextJS或者当dangerouslyAllowSVG被设为true时更为严重。

1739000149_67a7095503d11d2e8bed3.png!small?1739000150523

现在可以从cdn.xxxxx.com和xxxxxx.com加载图像:

https://xxxxx.com/_next/image?url=https://cdn.xxxxx.com/i/rabbit.png&w=256&q=75

如果希望从任何网站加载图像,可以简单地将每个URL添加到白名单中:

1739000176_67a7097054692a0aae1b8.png!sma

可试读前30%内容
¥ 19.9 全文查看
9.9元开通FVIP会员
畅读付费文章
最低0.3元/天
# 渗透测试 # web安全 # 漏洞分析 # 企业安全 # SSRF漏洞
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 AlbertJay 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
AlbertJay LV.5
这家伙太懒了,还未填写个人描述!
  • 40 文章数
  • 42 关注者
企业防线的薄弱环节:深入了解供应链网络攻击的风险
2024-12-31
修复秘籍:如何有效应对CVE-2024-20767和CVE-2024-21216漏洞
2024-12-19
嵌套反序列化的危害:Magento XXE 漏洞分析(CVE-2024-34102)
2024-12-18
文章目录