User-Agent wechsel dich: Pfusch beim T-Online-Browser

Seit dem letzten Eintrag ist noch nichtmal ein Jahr vergangen und schon erscheint der nächste 😉

Magento verfügt über mehrere Sicherheitseinstellungen, die über die Gültigkeit einer

Einstellungen zur Sessiongültigkeit

Einstellungen zur Sessiongültigkeit

Session entscheiden. Die höchste Sicherheit bietet selbstverständlich das Verwerfen der Session falls sich eine der konfigurierbaren Bedinungen ändert. Allerdings steigt damit auch das Risiko gültige Sessions ohne Gefahr für ungültig zu erklären.

Völlig unkalkulierbar wird das ganze dann, wenn die Client-Software – in diesem Fall der Browser – einen groben Schnitzer enthält. Nachdem die Beschwerden von potentiellen Besteller zunahmen, die den Checkout nicht abschließen konnten, brachte uns ein Benutzer des T-Online-Browsers auf die richtige Fährte: Tatsächlich brach der Checkout-Prozess nach Eingabe einer Adresse unvermittelt ab und zeigte stattdessen die Startseite an. Auch der Warenkorb war leer. Ein zusätlicher Vergleich der Session-ID vor und nach dem Abbruch zeigten, dass tatsächlich eine neue Session erstellt worden war.

Nachdem das Problem auf http://demo.magentocommerce.com/ nicht auftrat, musste es also ein lokales Problem sein. Ein Fehler in den lokalen Anpassungen in Code und Templates konnte dadurch ausgeschlossen werden, dass der Abbruch auch mit einem komplett jungfräulichen Magento-1.3.2.4-Source und der vorhandenen Datenbank erfolgte. Somit blieb nur noch die Konfiguration als Ursache. Weitere Untersuchungen förderten dann schließlich eine Schlamperei im T-Online-Browser zutage. Dieser sendet nämlich auf „normale“ Anfagen einen anderen User-Agent als auf AJAX-Anfragen. Während sich der aktuelle Browser üblicherweise als Mozilla/4.0 (compatible; MSIE 7.0; TOB 6.07; Windows NT 5.1) identifiziert, wird bei AJAX-Anfragen der normale User-Agent des Internet Explorer Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1) übertragen.

Verschiedene User-Agents im T-Online-Browser

Verschiedene User-Agents im T-Online-Browser

Noch skuriler wird das ganze, wenn zum Beispiel der AOL-Browser installiert wird. Denn startet man zunächst diesen und anschließend den T-Online-Browser, so gibt sich der T-Online-Browser bei AJAX-Anfragen als Mozilla/4.0 (compatible; MSIE 7.0; America Online Browser 1.1; rev1.5; Windows NT 5.1) zu erkennen. Der T-Online-Browser „vergisst“ hier also offensichtlich eine den User-Agent für AJAX-Anfagen zu überschreiben. Dadurch unterscheidet sich der User-Agent beim AJAX-Request zur Validierung der Adresse und die Session wird durch Magento terminiert.

Beheben lässt sich das ganze dadurch, dass man (wie im ersten Bild zu sehen) die Überprüfung des User-Agent deaktiviert. Natürlich ist nicht auszuschließen, dass dieses Verhalten auch noch andere Browser außer dem von T-Online (der bei uns derzeit etwa 0,5% unserer Besucher ausmacht) auftritt und somit vom erfolgreichen Abschluss einer Bestellung ausschließt. Einen echten Angriff kann man durch diese Methode ohnehin nicht verhindern.

Mit einem kleinen Demo-Skript lassen sich die beiden User-Agents für alle Benutzer des T-Online-Browsers anzeigen. Falls dieses „Feature“ auch noch bei anderen Browsern existiert, bitte einen Kommentar schreiben 🙂

Hinterlasse einen Kommentar

4 Kommentare auf "User-Agent wechsel dich: Pfusch beim T-Online-Browser"

Benachrichtige mich zu:
avatar

Sortiert nach:   neuste | älteste | beste Bewertung
Horst
Gast
Horst
8 Jahre 24 Tage her

Super!!! Danke! Du hast mir sehr geholfen. Ich hatte das Problem mit XT Commerce. Dort kann man die Option übrigens auch unter Sessions ausstellen. Der T-Online Browser ist echt ziemlicher Dreck.

trackback
8 Jahre 10 Tage her

User-Agent wechsel dich: Pfusch beim T-Online-Browser » Mag…

Interessanter Blogbeitrag zum T-Online-Browser und dem eCommerce-System Magento….

Plamka
Gast
6 Jahre 5 Monate her

Super, vielen Dank 🙂 Noch eine kleine Anmerkung von mir. Ich habe damals in unserem Shop auch die anderen drei „Überprüfe_REMOTE_ADDR“ usw. auch auf false gesetzt. Ich meine mich zu erinnern, dass es Probleme in einem Firmennetzwerk geben könnte, wo die IP öfters wechselt. Sprich, beim Einkaufen hast Du die IP A und beim bezahlen die IP B. Die Folge ist, dass der Warenkorb ebenfalls geleert wird. Das habe ich zumindest in einem anderem BLOG gelesen.

wpDiscuz
Weitere Beiträge zum Thema
IT Fachanwalt Timo Schutt beim 19. E-Commerce Stammtisch
Fabian Lang zu Gast beim nächsten Magento Stammtisch
FLOW3-Schulung
Rechtsanwalt Clemens Pfitzer als Gastreferent beim 19. E-Commerce Stammtisch