TL; DR Nein, Sie sind nicht 100% sicher. Oder mit anderen Worten, überlegen Sie es sich zweimal. ;)
Führen Sie keine Code-Schnipsel aus, ohne die Grundlagen zu verstehen. Hier man
erfahren Sie mehr über einen Befehl oder ein Programm. Verwenden Sie Google oder ein anderes Suchportal, wenn Sie dies nicht verstehen. Und wenn Sie immer noch Zweifel haben, führen Sie den Code einfach nicht aus.
Vertraust du mir? Dann renne:
man man
Ok, nicht gefährlich, du siehst die Manpage von man
Aber was ist mit dem Code unten, vertraust du mir?
$(perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg==")
Nicht? Gute Idee. Lassen Sie uns den Code aufschlüsseln:
perl
Der Perl-Interpreter
-MMIME::Base64
Kodierung und Dekodierung von Base64-Strings
-0777ne
-0777
- Ändert das Zeilentrennzeichen in Undef, sodass wir die Datei schlürfen und alle Zeilen auf einmal an Perl weiterleiten können.
-e
Mit dem Flag - (execute) können wir den Perl-Code, den wir ausführen möchten, direkt in der Befehlszeile angeben.
-n
- Führen Sie die Eingabe zeilenweise Perl zu.
'print decode_base64($_)'
- Dekodiert einen String, der in gespeichert wird $_
.
"ZWNobyAnQk9PSCEnCg=="
- Und das? Was ist das?
Beginnen wir einen Test.
Wir wissen, es ist so etwas wie base64 und es sieht verschlüsselt aus. Dekodiere daher den String mit:
base64 --decode <<< "ZWNobyAnQk9PSCEnCg=="
Und die Ausgabe ist… ok, nicht wirklich gefährlich:
echo 'BOOH!'
Jetzt können wir dasselbe mit Perl machen
perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg=="
Und die Ausgabe ist, was für eine Überraschung:
echo 'BOOH!'
Aber war es gefährlich? Das ist gefährlich:
$(…)
Dieses Konstrukt führt die Ausgabe der Befehle in runden Klammern aus.
Lass es uns versuchen, vertraust du mir?
$(perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg==")
"BOOH!"
Und worum geht es?
c3VkbyBraWxsYWxsIG5hdXRpbHVzCg==
Probieren Sie es aus ... Vertrauen Sie mir?