Neu Shop4 Login Adminbereich wegen CSRF (Cross site request forgery) fehlgeschlagen

Joshi

Aktives Mitglied
30. Januar 2009
48
0
Hallo,
soeben habe ich festgestellt, dass bei der Anmeldung in den Adminbereich der Hinweis :"Cross site request forgery!" kommt und das war es dann auch schon.
Ich könnte mir fehlerhafte Parameter bei den Cookies vorstellen.
Um diese zu ändern sollte man sich aber auch einloggen können, was leider nicht möglich ist.
An welcher Stelle werden die Einstellungen vom Shop gespeichert?
Datenbanktabelle oder Datei?
 

Joshi

Aktives Mitglied
30. Januar 2009
48
0
Hab es soeben selbst hinbekommen.
Es lag wie vermutet beim Cookie-Eintrag.
In der Tabelle teinstellungen nach dem Eintrag global_cookie_domain suchen und entsprechend richtig abändern.
Nun funktioniert es wieder und ich kann mich einloggen.
 

TheSMAX

Aktives Mitglied
13. Juli 2017
2
0
Hallo!

ich habe das selbe Problem mit der Version 405.3. Im Prinzip hat schon mal alles funktioniert, aber der lokale Pfad war der falsche, also dachte ich mir: "Egal - einfach neu installieren". Die Daten vom FTP gelöscht, die ganzen Tables in der DB gelöscht. Die ganzen Files wieder rauf, Rechte gesetzt, Installationsroutine durchgegangen und die neuen Passwörter notiert und dann kommt beim Login immer die Meldung "Cross site request forgery!". Ich habe auch versucht die den cWert von global_cookie_domain zu setzen und die domäne in sämtlichen Schreibweisen versuht, aber immer das selbe Ergebnis. Bleibt da irgendwo etwas gespeichert, das ihn darauf schließen lässt, dass ich ein Hacker bin?

Bin sehr dankbar für eine Antwort.

The SMAX
 

blitz

Gut bekanntes Mitglied
28. März 2014
123
7
Lorsch
Ich hab das selbe Problem finde nur den Eintrag nicht in der DB...... Ich hab nen Umzug vor von Subdomain auf Hauptdomain wenn ich die alte Sub nutze geht es ganz normal wenn ich die neue Haupt nutze kommt der gleiche fehler ..... Wo finde ich denn diesen Eintrag ?!?
 

blitz

Gut bekanntes Mitglied
28. März 2014
123
7
Lorsch
Der Eintrag ist raus einfach im MySql eine SQLAbfrage starten


Code:
UPDATE teinstellungen SET cWert = ''
WHERE cName = 'global_cookie_domain';
 

emstore24

Mitglied
19. November 2017
8
0
Hallo,
ich habe auch gleiche problem und ich kann nicht mehr im admin bereich Einloggen. Wenn ich hier die Beiträge lese und habe ich auch unter Globale Einstellung im Cookie bereich meine Domain eingetragen warum weis ich nicht ?
Wie kann ich jetzt wieder im admin bereich Einloggen ? Kann ich die Globale Einstellung auch im DB ändern bzw. löschen ?
Bitte um ein tip von JTL`er
Danke
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.787
313
Düsseldorf
Ist mir gerade zum erstem Mal bei einem 4.05 Build 3 passiert. Das Login-Formular war längere Zeit (eine "Tatort"-Länge) geladen und dann habe ich mich angemeldet. Ohne weiter zu testen habe ich alle Cookies der Domain gelöscht und dann ging es wieder.
Wenn die Uhrzeit bei der Anmeldung zur Absicherung verwendet wird, dann könnte das eine Ursache sein ...
 

Metropilot

Aktives Mitglied
19. April 2016
14
0
Hab es soeben selbst hinbekommen.
Es lag wie vermutet beim Cookie-Eintrag.
In der Tabelle teinstellungen nach dem Eintrag global_cookie_domain suchen und entsprechend richtig abändern.
Nun funktioniert es wieder und ich kann mich einloggen.

Der Eintrag ist raus einfach im MySql eine SQLAbfrage starten


Code:
UPDATE teinstellungen SET cWert = ''
WHERE cName = 'global_cookie_domain';

Wo und wie bei phpMyAdmin kann man das genau machen? Habe das gleiche Problem nach Umzug auf neues Hosting Paket. Ich sehe und finde den Eintrag, aber wie ändern?
 

Anhänge

  • Bildschirmfoto 2017-12-04 um 15.32.28.jpg
    Bildschirmfoto 2017-12-04 um 15.32.28.jpg
    13,7 KB · Aufrufe: 74

Mirko.Schmidt User deaktiviert

Guest
Hallo,
es gibt am oberen Rand den Tab "SQL" dort kann der SQL Befehl abgesetzt werden, also dieser hier:
Code:
UPDATE teinstellungen SET cWert = ''
WHERE cName = 'global_cookie_domain';
In das Eingabe Fenster einfach den Code einfügen und auf ok klicken.
 
  • Gefällt mir
Reaktionen: Metropilot

Metropilot

Aktives Mitglied
19. April 2016
14
0
Vielen Dank!

Hatte ich mir gedacht, auch vorher schon mal so probiert, evt. muss ich noch was anderes bedenken?

Ich werd noch kirre. Selbst bei jungfräulicher DB und neuem Shop install kommt die CSRF Warnung weiterhin.

PHP-Version: 7.1.12, MySQL, v5.5.52
 

Anhänge

  • Bildschirmfoto 2017-12-04 um 16.17.50.jpg
    Bildschirmfoto 2017-12-04 um 16.17.50.jpg
    50,5 KB · Aufrufe: 90
  • Bildschirmfoto 2017-12-04 um 16.08.12.jpg
    Bildschirmfoto 2017-12-04 um 16.08.12.jpg
    14,8 KB · Aufrufe: 89
Zuletzt bearbeitet:

Mirko.Schmidt User deaktiviert

Guest
Die richtige Datenbank wurde aber ausgewählt oder? Weil "0 rows affected" ja bedeutet, dass nichts verändert wurde. Was eher daraufhin deutet, dass dieser Wert nicht existiert.
 

Metropilot

Aktives Mitglied
19. April 2016
14
0
Die richtige Datenbank wurde aber ausgewählt oder? Weil "0 rows affected" ja bedeutet, dass nichts verändert wurde. Was eher daraufhin deutet, dass dieser Wert nicht existiert.

Danke noch mal. Ich kenne mich leider nicht so gut aus mit phpMyAdmin, aber wenn die Datenbank so oben angezeigt wird sollte schon dort der Wert gesucht werden, oder? Hatte auch versucht direkt mit ausgewählter teinstellungen das auszuführen.
 

Anhänge

  • Bildschirmfoto 2017-12-04 um 16.55.11.jpg
    Bildschirmfoto 2017-12-04 um 16.55.11.jpg
    35,1 KB · Aufrufe: 67

Metropilot

Aktives Mitglied
19. April 2016
14
0
Wenn ich direkt ausgewählt bei teinstellungen bin und unter SQL update mal klicke kommt diese Zeile:

UPDATE `teinstellungen` SET `kEinstellungenSektion`=[value-1],`cName`=[value-2],`cWert`=[value-3],`cModulId`=[value-4] WHERE 1

Ist denke eine Platzhalter Anzeige, sieht etwas anders aus als der oben genannte code.

Oder kann das generell mit meinen Server Einstellungen zu tun haben?

Database server:
  • Server: Localhost via UNIX socket
  • Server type: MariaDB
  • Server version: 5.5.52-MariaDB-cll-lve - MariaDB Server
  • Protocol version: 10
  • User: xxxx@localhost
  • Server charset: UTF-8 Unicode (utf8)
Web server:

  • nginx/1.11.10
  • Database client version: libmysql - mysqlnd 5.0.11-dev - 20120503 - $Id: 76b08b24596e12d4553bd41fc93cccd5bac2fe7a $
  • PHP extension: mysql
  • PHP version: 5.6.30
 

Anhänge

  • Bildschirmfoto 2017-12-04 um 17.16.00.jpg
    Bildschirmfoto 2017-12-04 um 17.16.00.jpg
    119 KB · Aufrufe: 38
Zuletzt von einem Moderator bearbeitet:

Mirko.Schmidt User deaktiviert

Guest
Danke noch mal. Ich kenne mich leider nicht so gut aus mit phpMyAdmin, aber wenn die Datenbank so oben angezeigt wird sollte schon dort der Wert gesucht werden, oder? Hatte auch versucht direkt mit ausgewählter teinstellungen das auszuführen.
Kein Problem. Wenn der Datenbank Name oben angezeigt wird, dann ist die richtige Datenbank ausgewählt und SQL Befehle werden auf dieser Datenbank ausgeführt. Aber was ich gerade erst in dem einem Screenshot sehe, hab's vorhin übersehen, dass der Wert doch schon leer ist. Da ist bisher nicht eingetragen. Ist dies jetzt immer noch der Fall wenn teinstellungen aufgerufen wird, dass 'global_cookie_domain' bei cWert nichts drin stehen hat? Wenn ja dann einmal den Browser Cache und die Cookies löschen und nochmal versuchen einzuloggen.
 

Metropilot

Aktives Mitglied
19. April 2016
14
0
Was ich gerade erst in dem einem Screenshot sehe, hab's vorhin übersehen, dass der Wert doch schon leer ist. Da ist bisher nicht eingetragen. Ist dies jetzt immer noch der Fall wenn teinstellungen aufgerufen wird, dass 'global_cookie_domain' bei cWert nichts drin stehen hat? Wenn ja dann einmal den Browser Cache und die Cookies löschen und nochmal versuchen einzuloggen.

Danke für den Tip. Habe Cache und Cookies gelöscht. Danach versucht einzuloggen, erneute CSRF Warnung. Mehrere Browser. Danach noch mal bei teinstellungen geschaut und folgende Einträge sind so (screenshot) hinterlegt.

Wie gesagt, ich habe einen Paketwechsel bei meinem Provider gemacht. Neue IP und Nameserver bekommen. Von älterem Plesk auf neuere Version inkl. option auf neuere php Version (7.0 bzw. 7.1) zu gehen. Mit älterer php Version (5.4 glaube ich) hat der Shop vorher viele HTTP 500 Fehler gehabt und daher hatte ich den Wechsel angeschubst, dachte es liegt daran. Seitdem habe ich jedoch das CSRF Problem. Beim JTL test script ist alles im grünen Bereich.

Wo kann ich noch nachforschen? Die Verbindung zum Shop (neu angelegt) kann ich in JTL herstellen. Nur der Admin Login weigert sich weiter vehement...
 

Anhänge

  • Bildschirmfoto 2017-12-05 um 11.59.47.jpg
    Bildschirmfoto 2017-12-05 um 11.59.47.jpg
    25,7 KB · Aufrufe: 79

vygi

Gut bekanntes Mitglied
14. Januar 2007
335
13
Servus!

ich habe nun gleiches Problem, und zwar auf einem PLESK-basierten CentOS System.
Mit der alten PHP Version 5.4 funktioniert alles - auch der Login. Nur die Warnung im Adminbereich wird wegen der alten PHP Version angezeigt.
Mit den neueren PHP Versionen, die via Plesk verfügbar sind - 5.5 und 5.6 - funktioniert der Login NICHT: immer diese rote "Cross site request forgery!" Fehlermeldung...
Zurück zu PHP 5.4 - und schon geht es wieder.

Was nun?
Gibt es eine Lösung?

UPDATE teinstellungen SET cWert = '' WHERE cName = 'global_cookie_domain'; - das hilft nicht weil der Wert sowieso schon leer ist.
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.359
340
Halle (Saale)
In 99.99% der Fälle ist PHP falsch konfiguriert, sodass keine Sessions geschrieben werden können.
Also ggf. session_save_path etc. prüfen. Wahrscheinlich tritt das Problem auch im Frontend auf? Artikel in Warenkorb legen, Seite neu laden, Warenkorb ist leer?
 

Ähnliche Themen