Answers:
不是,不是 那是所有安全漏洞的根源。您正在询问是否可以设置一个网页,以在客户端计算机上执行任意命令。如果我设置一个运行此命令的网页怎么办:
rm -rf ~/
这将删除您的中的所有文件$HOME
。实际上,最近发现一个允许这种情况发生的错误引起轩然大波。一种可能的攻击手段是欺骗客户端(在您的情况下为计算机B)运行bash命令。
因此,不能,您无法通过Web浏览器在本地计算机上执行任意代码。并非没有某种方式首先登录。您可以运行JavaScript或类似语言的命令,但它们将无权访问您的用户会话。
通常,您无法执行此操作,但是在可以控制客户端计算机B的定义环境中,您可以建议计算机B运行setroot服务,例如,您可以简单地使用nodejs或golang自己编写并与之对话收到活动时提供服务。但是无论如何,如果您没有在计算机B上安装一些额外的服务,那么您将没有任何机会(或者至少永远没有机会)。
run("whatever command on machine B");
?
我使用nodeJS服务器解决它。(不是干净的/最终的代码,但它的工作原理)
计算机A :(服务器)
function change_wallpaper(image){
var objReq = new XMLHttpRequest();
objReq.open("GET", "http://localhost:8888" + "?image=" + image, false);
objReq.send(null);
}
<img src="./img/1.jpeg" onclick="change_wallpaper(this.src);" />
<img src="./img/2.jpeg" onclick="change_wallpaper(this.src);" />
计算机B :(客户端)名为server.js
ans的文件执行nodejs server.js
var http = require("http");
var sys = require('sys')
var exec = require('child_process').exec;
var url = require("url");
function onRequest(request, response) {
var params = url.parse(request.url,true).query;
function puts(error, stdout, stderr) {sys.puts(stdout)}
exec("/usr/bin/feh --bg-center " + params.image, puts);
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Wallpaper');
}
http.createServer(onRequest).listen(8888);
PHP可以在浏览器中更改文本文件的内容,例如在/var/www/.../folder/mytextfie.txt中,您只需从该文件中获取字符串,即可以使用命令甚至命令来启动脚本文件。
cronjob可以运行以检查文本文件是否包含任何可执行文件。
#!/usr/bin/env bash
echo $(cat /var/www/.../folder/commandsperline.txt)
#or
while read line
do
echo "$(${line})"
done< "/var/www/.../folder/commandsperline.txt"
该文本文件的上下文:
#!/bin bash
#you need to declare absolute path
# chmod 755 /home/user/*.sh -to make executabble all scripts there
/home/user/backup.sh
/home/user/anyscript.sh
使用te while循环,可以从该文本文件执行命令。
是的..这是可能的neutralinojs。
您可以使用Neutralino.os.runCommand()
。但是在您的情况下,可以使用Neutralino云模式。