Shell mit termlib

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

jahlives

Benutzer
Registriert
19. Aug. 2008
Beiträge
18.275
Reaktionspunkte
4
Punkte
0
Habe heute mal etwas mit termlib rumprobiert und habe dabei eine nette Art gefunden wie man eine Art Shell im Browser haben kann. Das habe ich mir mal noch etwas angepasst. Es ist natürlich keine echte Shell, also gehen interaktive Kommandos ned. Aber die meisten Kommandos und Verkettungen funzen ohne Probleme. Wer will kann es sich hier mal anschauen: https://brain-force.ch/admin/?login&cli (Username gast und leeres PW). Die Kommandos sind natürlich gefiltert und schneiden alle Parameter ab, will ja meine DS ned öffnen ;-)

Gruss

tobi
 
Sehr nett! Kannst du mir mal den Quelltext zukommen lassen? Dann könnte man evtl ein spk für den DSM daraus machen.
Da steht übrigens noch "UPSClient" in der Kopfzeile ;)
An dem UPSClient wäre ich aber auch durchaus interessiert.

MfG Matthieu

PS: Sag mal stimmt das Produktionsdatum der Batterie?
 
Das mit dem Prod Datum der Batterie zum Prod Datum des USV hat mich auch etwas gestört. Aber vielleicht ist es ja wie beim Wein: Je länger gelagert umso besser ;-) Quelltext für die Clientseite der Shell steht im Quelltext der Seite. auch die termlib kannst du dir anschauen. Die Serverseite könnte ich hier noch reinstellen, ist aber letztlich ein einfaches PHP Script welches die Kommandos vom Client auf dem Server ausführt.
 
Die Serverseite kann ich sonst zur Verfügung stellen:
Code:
<?php
$output = exec($_POST['command']);
if ($output == '') 
{
    echo 'No answer: ' . $_POST['command'];
}
else
{
    echo $output;
}
    
?>

:)


EDIT: Das ist die minimalste Version, es sollte noch etwas abgesichert werden.
 
Zuletzt bearbeitet:
EDIT: Das ist die minimalste Version, es sollte noch etwas abgesichert werden.
Meinst du mit abgesichert mehr als die Absicherung mittels DSM-Auth?
Darf ich als Lizenz für Idee und Umsetzung GPL ansetzen?

MfG Matthieu
 
Naja mit dem Teil kannst Du vieles kaputt machen, deshalb sollte man einige Befehle rausfiltern.
 
Hier mal noch die aktuellste Version der Webshell. Geht jetzt ohne zentralen Login. Dazu kann man sich mittels rlogin Kommando am Server anmelden und mittels rlogout wieder raus. Wer Lust hat kann es sich unter https://brain-force.ch/admin/cli/shell.php angucken (Username gast und leeres PW). Die Kommandos des Gastes sind aber stark gefiltert, will ja ned, dass jeder Hinz und Kunz beliebige Kommandos via meine DS absetzen könnte :-)
 
Ich hab leider trotz den zahlreichen Beispielen es nicht geschafft beides zusammen so arbeiten zu lassen wie ich das möchte, deswegen hab ich erst mal aufgehört am spk zu arbeiten.

MfG Matthieu
 
@Matthieu
Wo hackt es denn genau? Client oder Serverteil?
 
Was das angeht hab ich mich auf ubuntulinux verlassen. Ich krieg einfach die Demos nicht zum laufen (darauf müsste ich ja entsprechend aufbauen).

MfG Matthieu
 
Du kannst ja mal ubuntulinux Bsp als Test nehmen. Tausch dort POST mit GET aus (macht es einfacher zu testen). Leg dieses Script auf deinen Server und ruf es auf mit dem GET Parameter command und einem gewünschten Kommando auf
z.B. http://IP_DEINER_DS/script.php?command=ls
obiges sollte dir den Inhalt des aktuellen Verzeichnisses auflisten
http://IP_DEINER_DS/script.php?command=ls
 
Soweit nicht das Problem, Ausgabe stimmt. Aber das mit termlib zu kombinieren ist mir irgendwie nicht gelungen.

MfG Matthieu
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat