Warnung vor chCounter – Sicherheitslücke

16. April 2009 Kategorie: Internet, geschrieben von: caschy

Den beliebten chCounter zur Statistikerhebung setze ich hier mir kurzen Unterbrechungen bereits fast dreieinhalb Jahre ein. Doch er hat eine Sicherheitslücke die es jedem ermöglicht in das Administrationsinterface zu kommen. Begebt euch einfach auf eure Login-Seite des chCounters und gebt als Benutzernamen und Passwort einmal “or ‘=’” (ohne meine Anführungszeichen ein).

Hier mal ein Screenshot meines Blognachbarn Tim:

chCounter - Administration - Einstellungen.jpg

Darauf aufmerksam gemacht hat mich Lainux. So, nun zur Abhilfe.

Öffnet in eurem Unterordner includes des Counters die Datei functions.inc.php.

functions1.jpg

Sucht die Zeile mit dem Text chC_login und fügt folgende Zeile darunter ein:

$name=mysql_real_escape_string($name);

Sieht dann so aus:

functions2.jpg

Für die Lösung dürft ihr euch bei Dirk Vorderstraße bedanken – der hat das “mal eben” während eines kleinen Chats gelöst.

Über den Autor: caschy
Dortmunder im Norden. Blogger, Freund gepflegter Technik, BVB-Maniac und Hausmeister dieses Blogs. Auch zu finden bei Twitter, Google+, Facebook, XING und YouTube.

19 Kommentare

Tim 16. April 2009 um 21:13 Uhr

Echt hammer. Wer weiß, was da noch für Lücken drin stecken. Aber eine vergleichbare Counterlösung gibt es leider nicht. :(
Vielen Dank für die schnelle Lösung!

Julius 16. April 2009 um 21:18 Uhr

Versteh ich da was falsch oder warum muß ein login für einen lokalen Counter überhaupt nach außen offen sein? Btw: wenn schon mysql_(real)_escape_string (so nachm motto: besser das gegen sql-inj als garnix), warum dann nur auf $name und nicht auch gleich auf $pw?
Naja, mir isses gleich. ;)

Julius 16. April 2009 um 21:21 Uhr

na immerhin wurde mein kommentar hier als spam erkannt :) (was evtl. gar nicht so falsch ist)

b-age (twitter ) 16. April 2009 um 21:24 Uhr

oha, ist ja krass.
danke für den hinweis, gleich behoben.

-tmh- 16. April 2009 um 21:44 Uhr

Echt schön von dir beschrieben worden, sollte jeder fixxen können ;)

Marcus 16. April 2009 um 21:45 Uhr

Vielen Dank für den Hinweis! Hab das Problem direkt mal behoben. Gute Anleitung Caschy ;)

Julius 16. April 2009 um 21:46 Uhr

@Tim bzgl. ‘was sonst noch für Lücken’: wahrscheinlich erstmal überall dort, wo daten von aussen mit der DB in berührung kommen, sprich: wenn schon dann besser gleich alle queries escapen (z.B. sprintf + mysql_real_escape_string). aber darum sollte sich eigentlich der bastler dieser software kümmern.
(nur nebenbei: global für die DB-con find ich jetzt auch etwas komisch – singleton anyone? …ich les in den code jetzt besser nicht rein)

Tim 16. April 2009 um 22:14 Uhr

@Julius: Das Problem beim chCounter ist ja, der eigentliche Entwickler ist schon lange raus. Und auch der Typ, der solche Sachen fixen wollte ist auch vom Erdboden verschluckt.

MajorShadow 16. April 2009 um 22:59 Uhr

Irgendwie wird mir schlecht bei sowas :-(
Vorallem wenn der Entwickler dann noch treffend als “Bastler” bezeichnet wird.

Wenn die Gerüchte über IBM und Sun stimmen und somit die evtl. schweren Konsequenzen für MySQL, dann wäre ich ja dafür, dass sich IBM noch irgendwie PHP unter den Nagel reißt ;)
(wer die Ironie und Logik findet, darf sie behalten)

Bernd (twitter ) 17. April 2009 um 08:05 Uhr

Danke für den Hinweis! Schade, dass es keine ordentliche aktuelle kostenlose Alternative zu chCounter gibt :(

paterbrown 17. April 2009 um 08:35 Uhr

Hatte auch mal den chCounter im Einsatz. Bin aber inzwischen zu Piwik gewechselt. Auf jeden Fall eine sehr gute Alternative wie ich finde und aktiv in Entwicklung…

Roman 17. April 2009 um 09:45 Uhr

@Tim Vergleichbare Counterlösungen gibt es wie Sand am Meer. Analytics, AwStats sind nur zwei, die es locker mit dem ChCounter aufnehmen können.

Wenn schon beim Login so schwere XSS-Fehler auftreten, würde ich von einer weiteren Verwendung der Software sofort absehen.

Tim 17. April 2009 um 10:33 Uhr

@Roman: Ich suche aber mehr nach einer reinen Counterlösung. Möchte gerne die Möglichkeit haben, die Besucherzahlen ausgeben zu können. Und Google Analytics kommt bei mir nicht drauf. Ich teste nebenbei noch piwik und mint. Aber die find ich schon fast zu überladen. Der chCounter war da leider genau rchtig.

caschy 17. April 2009 um 10:34 Uhr

@Tim:

Mint sieht toll aus, kostet aber.

Carabon 17. April 2009 um 10:45 Uhr

es gibt auch noch phpMyVisitors, kann man sich ja anpassen wie man will. Läuft auf dem eigen Server und gibt daher keine Daten weiter, wie es Analytics tut.

ralf_donald (twitter ) 17. April 2009 um 17:57 Uhr

Hab ich gleich mal behoben.
Danke, auch an Dirk. :)

mark 17. April 2009 um 21:04 Uhr

@carabon: Du meinst bestimmt phpMyVisits. Dessen Nachfolger ist das bereits erwähnte Piwik.

Franzi 15. Oktober 2009 um 09:39 Uhr

LOL Escape ist das heut zu tage nicht schon zu einfachen für frames? die werden dadruch auch nicht verhindert leute ^^

Jürgen 28. Oktober 2010 um 09:56 Uhr

Bin eben via Google hier gelandet….

Das (expCounter) ist der Nachfolger von chCounter, baut drauf auf und wird aktuell weiterentwickelt!

http://www.expblog.net/expcounter/

(siehe unten auf der Seite im About)

LG
Juergen (hausl)



Du willst nichts verpassen?
Neben der E-Mail-Benachrichtigung habt ihr auch die Möglichkeit den Feed dieses Beitrags zu abonnieren. Wer natürlich alles lesen möchte, der sollte den Hauptfeed abonnieren. Alternativ könnt ihr euch via E-Mail über alle neuen Beiträge hier im Blog informieren lassen. Einfach eure E-Mail-Adresse hier eingeben, dann bekommt ihr 1x täglich eine Zusammenstellung.

Deine Meinung ist uns wichtig...

Name*


E-Mail* (wird nicht veröffentlicht)


Webseite


Twitter-Name


Blogverzeichnis - Blog Verzeichnis bloggerei.de