Frage wg. C 4.8.6 + Mod Rewrite + URL-Injection

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
Karlchen
Beiträge: 40
Registriert: Sa 4. Feb 2006, 02:02
Kontaktdaten:

Frage wg. C 4.8.6 + Mod Rewrite + URL-Injection

Beitrag von Karlchen » Mo 14. Jul 2008, 21:12

Hi zusammen,

da ich nicht cross-posten möchte, frage ich in einem neuen Topic nach...

Benutze bei 1und1 Contenido 4.8.6 mit Mod Rewrite 0.3.2 von xmurrix. Das Contenido Verzeichnis ist über eine .ht Datei geschützt und einen Patch mit "get" (sorry ich finde den Link hier im Forum nicht mehr) ist auch eingespielt. Hackversuche bin ich von der 4.4.4 gewöhnt, die zum Glück immer noch allen Angriffen trotz!!!
Jetzt kommen aber auf die neue 4.8.6er Angriffe auf eine "errors.php" - welche ich aber nicht gefunden habe... Gekürzt sieht das Log so aus:

Code: Alles auswählen

modify header information - headers already sent by (output started at .../contenido/plugins/mod_rewrite/classes/class.modrewritecontroller.php:220) in .../conlib/session.inc on line 479
[14-Jul-2008 10:12:31] PHP Warning:  Cannot modify header information - headers already sent by (output started at .../contenido/plugins/mod_rewrite/classes/class.modrewritecontroller.php:220) in .../conlib/session.inc on line 484
[14-Jul-2008 10:12:31] PHP Warning:  Cannot modify header information - headers already sent by (output started at .../contenido/plugins/mod_rewrite/classes/class.modrewritecontroller.php:220) in .../conlib/session.inc on line 485
…
 [14-Jul-2008 10:12:31] PHP Warning:  Cannot modify header information - headers already sent by (output started at .../contenido/plugins/mod_rewrite/classes/class.modrewritecontroller.php:220) in .../cms/front_content.php on line 217
…
 [14-Jul-2008 10:22:44] PHP Warning:  parse_url(/errors.php?error=http://www.equi-sense.com/forums/id.txt???) [<a href='function.parse-url'>function.parse-url</a>]: Unable to parse URL in .../contenido/plugins/mod_rewrite/classes/class.modrewritecontroller.php on line 220
…
 [14-Jul-2008 10:22:44] PHP Warning:  Cannot modify header information - headers already sent by (output started at .../contenido/plugins/mod_rewrite/classes/class.modrewritecontroller.php:220) in .../conlib/session.inc on line 479
Usw…
Meine Fragen wären nun (habe gesucht und leider und keine für mich schlüssige Antwort erhalten):
Kann ich die session.inc sicherer machen?
Warum geht ein Angriff auf eine nicht vorhandene Datei?
Wie kann jemand auch ein geschütztes Verzeichnis (/contenido/plugins/mod_rewrite) zugreifen?

Wäre über eine Hinweis/Rat/Link dankbar!

Merci vorab
Karlchen

xmurrix
Beiträge: 3154
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Frage wg. C 4.8.6 + Mod Rewrite + URL-Injection

Beitrag von xmurrix » Mo 14. Jul 2008, 22:54

Hallo,

das ist das gleiche Thema wie unter http://forum.contenido.org/viewtopic.php?t=21953.

Diese Art von Hackingversuche können keinen Schaden anrichten, da kannst du beruhigt sein.

Einen Workaround zum Abstellen der Fehlermeldung schicke ich dir per pm.

Gruß
xmurrix

Karlchen
Beiträge: 40
Registriert: Sa 4. Feb 2006, 02:02
Kontaktdaten:

Beitrag von Karlchen » Di 15. Jul 2008, 07:52

Hi Xmurrix,

merci für die Info und deine Hilfe. Es hat mich schon etwas verunsichert, doch jetzt bin ich beruhigt!

Nochmals Danke und viele Grüsse

Karlchen

kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

Re: Frage wg. C 4.8.6 + Mod Rewrite + URL-Injection

Beitrag von kloevekorn » Do 17. Jul 2008, 11:42

Karlchen hat geschrieben:Hi zusammen,

Jetzt kommen aber auf die neue 4.8.6er Angriffe auf eine "errors.php" - welche ich aber nicht gefunden habe... Gekürzt sieht das Log so aus:
[snip]
wie kommst du darauf, dass die Angriffe auf die errors.php erfolgen?? Aus deinen Logs kann ich das nicht ersehen?

Aber: "errors.php" ist ein gern genutzter Name für eine Hackershell-Datei und damit schwerstverdächtig. ich kenne auch "globals.php".

Die Datei runterladen, dann löschen(!) und mal lokal auf deinem Rechner ausführen. Beeindruckend. Auf eigene Gefahr natürlich, die ich aber dabei IMHO nicht sehe.

"cannot modify header" ist aber möglicherweise nur ein fehlerhaftes Leerzeichen vor oder hinter, also außerhalb des <?php .... ?>. in modrewritecontroller.php

Karlchen
Beiträge: 40
Registriert: Sa 4. Feb 2006, 02:02
Kontaktdaten:

Beitrag von Karlchen » Do 17. Jul 2008, 19:57

Hi Kloevekorn,

merci für deine Antwort!

Wie komme ich darauf? Und zwar in diesem Abschnitt:

Code: Alles auswählen

[14-Jul-2008 10:22:44] PHP Warning:  parse_url(/[b]error[u]s[/u].php[/b]?error=http://www.equi-sense.com/forums/id.txt???) 
ist sie erwähnt und jemand möchte da auf diese errors.php zugreifen (wenn ich alles richtig interpretiere). Diese ist jedoch definitiv nicht vorhanden.
Aber jetzt bin ich neugierig ;-) was passiert da so beeindruckendes???

Viele Grüsse

Karlchen

kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

Beitrag von kloevekorn » Do 17. Jul 2008, 20:23

Sorry, dass habe ich glatt überlesen .... :roll:

was da genau passiert weiß ich nicht, verstehe ich auch nicht. Bist du dir denn sicher, dass die errors.php nicht da ist? Kann ja überall sein.

Der vermutete Ort geht doch aus dem Pfad im Log hervor. Aber so genau weiß ich das auch nicht.

Ich hatte mal eine errors.php (oder error.php - weiß nicht mehr genau). Das war eine Shell.

xmurrix
Beiträge: 3154
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Do 17. Jul 2008, 21:20

Hallo zusammen,

es ist wohl an der Zeit, hier etwas Licht ins Dunkle zu bringen. Was da genau passiert, ist folgendes:

Auf die Server werden Anfragen mit manipulierten URLs abgefeuert, soweit sind wir uns alle einig. Dazu zählt auch der Request mit /error.php.

Ohne mod_rewrite:
Ohne aktivem mod_rewrite wird der HTTP-Server versuchen, die Seite auszuliefern. Wenn es keine error.php gibt, gibt es eine 404 Fehlermeldung als Response. In der Standardinstallation ist aber eine error.php vorhanden. Diese Datei enthält kein PHP-Code der über eine manipulierte URL angreifbar wäre.

Mit mod_rewrite:
Habr ihr mod_rewrite, also das Advanced Mod Rewrite Plugin installiert, gibt es 2 Szenarien.

1. Ihr habt es tatsächlich so eingestellt, dass es eine Seite in der Hauptkategorie gibt, die auch error heißt und die Dateiendung habt ihr in der Konfiguration auf php gesetzt. Dann würde die gefundene Seite error.php ausgegeben.

2. Ihr habt in der .htaccess explizit angegeben, dass jeder Request auf error.php vom Umschreiben ausgeschlossen werden soll

Code: Alles auswählen

RewriteRule ^cms/error.php.*$ - [L]
# oder
RewriteRule ^error.php.*$ - [L]
Dann wird das gleiche geschehen wie unter Punkt "Ohne mod_rewrite" beschrieben.

Wenn die oben genannten Punkte bei euch nicht zutreffen, dann landet der Request auf error.php beim Plugin. Das Plugin versucht die URL zu parsen, weil es sich um eine manipulierte und fehlerhafte URL handelt, gibt es eine PHP Warnung. Diese Warnung wird ausgegeben und landet in der errorlog.txt.

Mehr passiert nicht. Da die URL vom Plugin nicht geparst werden konnte, gibt es entweder eine Weiterleitung zur Homepage oder zur Fehlerseite.

Grüße
xmurrix
Zuletzt geändert von xmurrix am Do 17. Jul 2008, 21:46, insgesamt 1-mal geändert.

kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

Beitrag von kloevekorn » Do 17. Jul 2008, 21:36

xmurrix hat geschrieben:Hallo zusammen,

..
Wenn es doch eine error.php gibt, dann ist es sicherlich nicht aus der Contenido Standardinstallation, hier sollte man der Sache auf jeden Fall nachgehen.
Die Standardinstallation enthält eine error.php im cms-Verzeichnis.
Ich hatte eine Shell auf dem Space, die errors.php hieß.

xmurrix
Beiträge: 3154
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Do 17. Jul 2008, 21:40

kloevekorn hat geschrieben:...
Die Standardinstallation enthält eine error.php im cms-Verzeichnis.
Ich hatte eine Shell auf dem Space, die errors.php hieß...
Zur meiner Schande muss ich gestehen, dass ich das nicht wusste...

Ok, da es sich um eine Seite mit nur mit HTML-Code handelt, sind Anfragen, die auf diese Site gehen, nicht gefährlich - ich sehe da keine Gefahr dabei.

Gruß
xmurrix

Antworten