首页 存档 技术 查看内容

Node.js反序列化远程代码执行漏洞(CVE-2017-5941) 一.漏洞描述

2018-3-30 13:00 |来自: 互联网 342 0

摘要: 一.漏洞描述 Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非 ...

一.漏洞描述

Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。

Node.js反序列化远程代码执行漏洞,Node.js的node-serialize库中存在一个漏洞,该漏洞通过传输JavaScript IIFE,利用恶意代码(未信任数据)达到反序列化远程任意代码执行的效果。


二.漏洞危害

攻击者可利用反序列化漏洞,通过构造Payload来实现远程攻击服务器来获得主机权限。

三.影响范围

Node.js全版本。


四.漏洞PoC

var serialize = require('node-serialize');

var x ='{"rce":"_$$ND_FUNC$$_function(){console.log(\'exploited\')}()"}'

serialize.unserialize(x);

PoC可用于进一步验证漏洞。


五.修复方案

厂商尚未提供漏洞修补方案,请关注厂商主页及时更新:

https://github.com/luin/serialize

临时解决方案:

  1. 修改/node_modules/node-serialize/lib/serialize.js中的FUNCFLAG值为随机值并保证该值不被泄漏。

  2. 确保Serialize字符串仅内部发送。

  3. 使用公钥(RAS)加密Serialize字符串,确保字符串不被篡改。


参考网址

  1. https://youtu.be/GFacPoWOcw0

  2. https://www.exploit-db.com/docs/41289.pdf



声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部