通过Ajax创建Nodejs本地反向shell?

时间:2015-04-25 18:39:59

标签: ajax node.js shell cmd instant

我试图创建一个小节点可执行文件,它能够打开本地shell并向HTTP服务器发送和接收命令。

在逻辑上看起来很简单,但实施此操作的最佳做​​法是什么?

  1. 使用Node API
  2. 打开命令行
  3. 从服务器URL / xmlrpc-urlhere /
  4. 中侦听命令
  5. 通过Ajax或WebRTC收到命令?在命令行执行
  6. 将命令行响应发回给用户
  7. 此shell将用于管理目的。

    我无法想到这样做的好方法,我已经检查了npm,似乎有一些基本的命令行模块用于节点js,但没有任何具有此功能。

1 个答案:

答案 0 :(得分:0)

npm模块commanderrequest应该可以解决问题。为了帮助您入门,这是一个简单的命令行工具,可以向Google发送搜索并将原始HTML转储到控制台中。

例如:

./search.js puppies

#!/usr/bin/env node

var program = require('commander');
var request = require('request');
var search;

program
    .version('0.0.1')
    .arguments('<query>')
    .action(function(query) {
        search = query;
    });

program.parse(process.argv);

if (typeof search === 'undefined') {
    console.error('no query given!');
    process.exit(1);
}

var url = 'http://google.com/search?q=' + encodeURIComponent(search);
request(url, function(err, res, body) {
    if (err) {
        console.error(err);
        process.exit(1);
    }

    console.log('Search result:');
    console.log(body);
    process.exit(0);
});