[TYPO3-german] Re: Trojaner mit PHP-Shell im /tmp-Verzeichnis - Verständnisfrage

Kay Strobach typo3 at kay-strobach.de
Wed Jun 5 17:05:18 CEST 2013


Hi Peter,

Browser -> Apache -> Upload nach /tmp, da PHP -> aufruf PHP Interpreter
von Apache mit $_FILES etc.

Also sollte dein Virenscanner eine Chance haben :D

Grüße
Kay

Am 04.06.13 17:00, schrieb Peter Linzenkirchner:
> Hallo LIste, 
> 
> ich habe folgendes Problem: 
> 
> ein Kunde betreibt einen Intranet-Rechner als Webserver. Darauf läuft php 5.3.21, TYPO3, ausserdem ein Virenscan. Nun passiert es in letzter Zeit häufig, dass solche Aufrufe im Access-Log auftauchen:
> 
> /admin/categories.php/login.php?cPath=&action=new_product_preview
> Dieser Aufruf erfolgt über POST und angehängt ist ein Trojaner mit einer PHP-Shell. 
> 
> Da per htaccess alle Aufrufe auf die index.php weitergeleitet werden (realUrl), landet dieser Trojaner automatisch im /tmp/-Verzeichnis. TYPO3 verarbeitet das $_FILES-Array aber gar nicht, es gibt keine Extension im Frontend, die einen Dateiupload machen würde, insofern wird der Trojaner bei Skriptende wieder aus dem tmp-Verzeichnis gelöscht und nicht in die Web-Root verschoben. Bzw. würde, weil nämlich vorher bereits der Virenscanner reagiert, den Server anhält, die Datei aus dem tmp-Verzeichnis löscht und allerlei Warnungen ausgibt. Der Scanner ist also schneller als TYPO3 (die Seite braucht schon mal 1/2 Sekunden).  
> 
> Ich habe daraufhin folgenden Test gemacht: 
> 
> ein PHP-Skript mit diesem Inhalt: 
> <?php
> while ($i=1) {}
> ?>
> Und ein Formular mit diesem Inhalt: 
> 
> <form action="index.php" method="post" enctype="multipart/form-data">
> 	<input name="irgendwas" type="file"><br>
> 	<p><input type="submit" value="Senden" /></p>
> </form>
> 
> Ich rufe das Formular auf, übergebe eine Datei und sende ab. Ergebnis: Ich erhalte eine Datei im tmp-Verzeichnis /tmp/phpPeQqSZ und zwar bis zu dem Augenblick, in dem ich das Skript abbreche, oder bis PHP über den Timeout das Skript abbricht. 
> 
> Ergo kann man diesen Upload in das tmp-Verzeichnis überhaupt nicht verhindern, er scheint ein autmatisches Feature von PHP zu sein. (Oder auch von Apache, das weiß ich nicht). 
> 
> ---
> 
> Meine Frage ist jetzt, ob ich die Abläufe richtig verstehe: 
> 
> Wenn in der php.ini der file_upload erlaubt ist, dann wird immer, wenn ein PHP-Skript aufgerufen wird mit angehängtem $_FIlES-Array diese Datei in den tmp-Ordner verschoben, egal, was das Skript sonst tut. Das ist also das Standardverhalten von PHP und nur verhinderbar über ein generelles file_upload-Verbot in der php.ini. Hat also mit TYPO3 überhaupt gar nichts zu tun. 
> 
> Ist das so richtig, oder fehlt mir hier das richtige Verständnis der Abläufe? Ich tue mich schwer hierzu Infos zu finden. Die üblichen Beschreibungen für die Absicherung eines Dateiuploads setzen alle später an, beim Verschieben von tmp in die Webroot. 
> 
> vielen Dank
> Peter
> --
> Xing: http://www.xing.com/profile/Peter_Linzenkirchner
> Web: http://www.typo3-lisardo.de
> Facebook: http://tinyurl.com/lisardo-multimedia
> 


-- 
http://www.kay-strobach.de - Open Source Rocks

TYPO3 .... inspiring people to share!
Get involved: http://typo3.org

Answer was useful - feel free to donate:
  -
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KPM9NAV73VDF2
  - https://flattr.com/profile/kaystrobach



More information about the TYPO3-german mailing list