2017-11-06 3 views
0
sun.misc.BASE64Decoder TGJfB = new sun.misc.BASE64Decoder(); 
byte[] htIVP = TGJfB.decodeBuffer("cm0gL3RtcC95Z0ZEN0I="); 
String [] PHaar = new String[3]; 
PHaar[0] = "/bin/sh"; 
PHaar[1] = "-c"; 
PHaar[2] = new String(htIVP, "UTF-8"); 
Runtime.getRuntime().exec(PHaar); 

ich diesen Code in meinem Server gefunden WasWas Groovy Funktion tut tut

Antwort

2

Die cm0gL3RtcC95Z0ZEN0I= Base64-Codierung String enthält diese Klartext macht: rm /tmp/ygFD7B

Das Äquivalent dieses Codes ist auszuführen, dies in der Shell:

/bin/sh -c 'rm /tmp/ygFD7B' 

ich hoffe, Sie haben keine wichtigen Daten hier ;-)!

+0

Ich habe wirklich nichts über groovy Was macht dieser Code Do –

+1

@NijeeshKJ Dieser Java-Code (kaum Groovy überhaupt) führt eine Shell aus, die dann die Datei '/ tmp/ygFD7B' entfernt. Warum jemand das ganze Maß geht, ist jenseits von mir. Die Tatsache, dass sie den Befehl in dieser Base64-Zeichenfolge "versteckt" haben, könnte auf böswillige Absichten hinweisen. Auch die Tatsache, dass sie 'sh -c 'verwendet haben ..." wurde wahrscheinlich verwendet, um irgendwelche Shell-Skripte/Befehle zu übertragen. – cfrick

+0

Ich stimme @cfrick zu, es scheint, dass es bösartiger Code ist, versuche zu sehen, was der Inhalt des Verzeichnisses ist (und wo/wann es erstellt wird) – Indent