在 Ajax 上创建 Nodejs 本地反向 shell?
Creating a Nodejs local reverse shell over Ajax?
我正在尝试制作一个小型节点可执行文件,它能够打开本地 shell 并向 HTTP 服务器发送和接收命令。
逻辑上看起来很简单,但是实现它的最佳实践是什么?
- 使用 Node 打开命令行 API
- 监听来自服务器的命令 URL /xmlrpc-urlhere/
- 当通过 Ajax 或 WebRTC 接收命令时?在命令行中执行
- POST 返回给用户的命令行响应
这 shell 将用于管理目的。
我想不出一个好的方法,我检查了 npm,似乎有一些用于 node js 的基本命令行模块,但没有一个具有此功能。
npm 模块 commander
和 request
应该可以解决问题。为了帮助您入门,这里有一个简单的命令行工具,它可以搜索 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);
});
我正在尝试制作一个小型节点可执行文件,它能够打开本地 shell 并向 HTTP 服务器发送和接收命令。
逻辑上看起来很简单,但是实现它的最佳实践是什么?
- 使用 Node 打开命令行 API
- 监听来自服务器的命令 URL /xmlrpc-urlhere/
- 当通过 Ajax 或 WebRTC 接收命令时?在命令行中执行
- POST 返回给用户的命令行响应
这 shell 将用于管理目的。
我想不出一个好的方法,我检查了 npm,似乎有一些用于 node js 的基本命令行模块,但没有一个具有此功能。
npm 模块 commander
和 request
应该可以解决问题。为了帮助您入门,这里有一个简单的命令行工具,它可以搜索 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);
});