Warnung vor chCounter – Sicherheitslücke

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.

Gefällt dir der Artikel? Dann teile ihn mit deinen Freunden.

caschy

Hallo, ich bin Carsten! Baujahr 1977, Dortmunder im Norden, BVB-Getaufter und Gründer dieses Blogs. Auch zu finden bei Twitter, Google+, Facebook, Instagram und YouTube. PayPal-Kaffeespende. Mail: carsten@caschys.blog

Das könnte dir auch gefallen…

Mit dem Absenden eines Kommentars willigst du unserer Datenschutzerklärung und der Speicherung von dir angegebener, personenbezogener Daten zu.

19 Kommentare

  1. 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!

  2. 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. 😉

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

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

  5. Echt schön von dir beschrieben worden, sollte jeder fixxen können 😉

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

  7. @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)

  8. @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.

  9. MajorShadow says:

    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)

  10. Danke für den Hinweis! Schade, dass es keine ordentliche aktuelle kostenlose Alternative zu chCounter gibt 🙁

  11. paterbrown says:

    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…

  12. @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.

  13. @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.

  14. @Tim:

    Mint sieht toll aus, kostet aber.

  15. 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.

  16. Hab ich gleich mal behoben.
    Danke, auch an Dirk. 🙂

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

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

  19. 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 morgens eine Zusammenstellung. Mit dem Absenden willigst du unserer Datenschutzerklärung und der Speicherung von dir angegebener, personenbezogener Daten zu.