NextJS SSRF 漏洞中,Host 头滥用危害有多大?
- 内容介绍
- 文章标签
- 相关推荐
你有没有试过在某个深夜, 盯着代码库发呆,突然发现一个小小的 Host 头竟然能带来这么大的平安隐患?我试过。那晚, 我深信... 我差点没被 SSRF 漏洞吓出心脏病。别看这个 Host 头小,它要是发起疯来能让你的服务器“社死”现场。
Host 是什么?
到位。 “Host” 这个词, 听起来挺“主人”的,其实它就是个请求头,告诉服务器“嘿,我找你是主要原因是你家门牌号是啥”。它在 HTTP/1.1 请求中是必须的,没有它,服务器根本不知道你到底想访问谁。但问题来了如果这个“门牌号”被伪造了呢?

比如 你发一个请求,说“我要访问你家”,但你其实把地址写成了“你邻居家的地址”,那服务器就真去你邻居家敲门了。这不就完蛋了,我emo了。?
SSRF 漏洞:Host 头的“黑手”
SSRF这个东西, 说白了就是服务器被“骗”了。攻击者通过伪造一个请求, 让我们一起... 让服务器去访问一个“假的”地址,然后……你懂的,数据就可能被偷了。
比如 你服务器本来好好的,后来啊被攻击者用 Host 头一忽悠,就去访问了不该访问的内网地址,比如 http://169.254.169.254那你的云服务器密钥、数据库信息、内部配置……全被偷光了。
Next.js 的 SSRF 漏洞:一个重定向引发的“血案”
Next.js 是个好东西,但它的 Server Actions 有点“憨”。比如 你写了个重定向,用的是 redirect后来啊它就真去请求那个路径了。问题是 这个路径的 Host 是从请求头里拿的,攻击者只要改个 Host,你服务器就可能去访问不该访问的地方。
比如 你访问 /admin/secrets但 Host 被改成 169.254. 你没事吧? 169.254那你的服务器就可能被诱导去访问云服务器的 metadata,然后……
数据就没了。
你有没有试过在某个深夜, 盯着代码库发呆,突然发现一个小小的 Host 头竟然能带来这么大的平安隐患?我试过。那晚, 我深信... 我差点没被 SSRF 漏洞吓出心脏病。别看这个 Host 头小,它要是发起疯来能让你的服务器“社死”现场。
Host 是什么?
到位。 “Host” 这个词, 听起来挺“主人”的,其实它就是个请求头,告诉服务器“嘿,我找你是主要原因是你家门牌号是啥”。它在 HTTP/1.1 请求中是必须的,没有它,服务器根本不知道你到底想访问谁。但问题来了如果这个“门牌号”被伪造了呢?

比如 你发一个请求,说“我要访问你家”,但你其实把地址写成了“你邻居家的地址”,那服务器就真去你邻居家敲门了。这不就完蛋了,我emo了。?
SSRF 漏洞:Host 头的“黑手”
SSRF这个东西, 说白了就是服务器被“骗”了。攻击者通过伪造一个请求, 让我们一起... 让服务器去访问一个“假的”地址,然后……你懂的,数据就可能被偷了。
比如 你服务器本来好好的,后来啊被攻击者用 Host 头一忽悠,就去访问了不该访问的内网地址,比如 http://169.254.169.254那你的云服务器密钥、数据库信息、内部配置……全被偷光了。
Next.js 的 SSRF 漏洞:一个重定向引发的“血案”
Next.js 是个好东西,但它的 Server Actions 有点“憨”。比如 你写了个重定向,用的是 redirect后来啊它就真去请求那个路径了。问题是 这个路径的 Host 是从请求头里拿的,攻击者只要改个 Host,你服务器就可能去访问不该访问的地方。
比如 你访问 /admin/secrets但 Host 被改成 169.254. 你没事吧? 169.254那你的服务器就可能被诱导去访问云服务器的 metadata,然后……
数据就没了。

