Nicht wirklich, nein. Das ist die Mutter aller Sicherheitslücken. Sie fragen, ob Sie eine Webseite einrichten können, die beliebige Befehle auf dem Client-Computer ausführt. Was ist, wenn ich eine Webseite einrichte, auf der dieser Befehl ausgeführt wird:
rm -rf ~/
Das würde alle Dateien in Ihrem löschen $HOME
. Tatsächlich gab es kürzlich einen Aufruhr, als ein Fehler entdeckt wurde , der dies ermöglichte. Einer der möglichen Angriffsmethoden bestand darin, den Client (in Ihrem Fall Computer B) dazu zu bringen, einen Bash-Befehl auszuführen.
Nein, Sie können keinen beliebigen Code auf Ihrem lokalen Computer über einen Webbrowser ausführen. Nicht ohne sich vorher irgendwie einzuloggen. Sie können JavaScript- oder ähnliche Sprachbefehle ausführen, diese haben jedoch keinen Zugriff auf die Sitzung Ihres Benutzers.
Sie können dies im Allgemeinen nicht tun, aber in einer definierten Umgebung, in der Sie den Client-Computer B steuern können, können Sie vorschlagen, dass Computer B einen Setroot-Dienst ausführt. Sie können beispielsweise einfach selbst mit NodeJS oder Golang schreiben und mit diesem sprechen Service, wenn Sie die Veranstaltung erhalten. Aber auf jeden Fall haben Sie keine Chance (oder zumindest sollten Sie nie eine Chance haben), wenn Sie keinen zusätzlichen Service auf Maschine B installieren.
quelle
run("whatever command on machine B");
?Ich löse es mit einem NodeJS-Server. (kein sauberer / endgültiger Code, aber er funktioniert)
Computer A: (Server)
Computer B: (Client-) Datei namens
server.js
ans ausgeführt mitnodejs server.js
quelle
PHP kann den Inhalt von Textdateien im Browser ändern, z. B. in /var/www/.../folder/mytextfie.txt. Sie müssen nur die Zeichenfolge aus dieser Datei abrufen. Dies kann ein Befehl oder sogar ein Befehl zum Starten einer Skriptdatei sein .
Ein Cronjob kann ausgeführt werden, um zu überprüfen, ob die Textdatei eine ausführbare Datei enthält.
Kontext dieser Textdatei:
Mit der while while-Schleife ist es möglich, Befehle aus dieser Textdatei auszuführen.
quelle
Ja .. es ist mit neutralinojs möglich .
Sie können verwenden
Neutralino.os.runCommand()
. In Ihrem Szenario kann jedoch der Neutralino-Cloud-Modus verwendet werden.quelle