Einträge im Error-Log: session_start():

  • Hallo Leute,


    ich habe heute Nachmittag viele Einträge im php_error log - das hatte ich noch nie:

    Code
    [03-May-2022 17:53:13 Europe/Berlin] PHP Warning:  session_start(): Session ID is too long or contains illegal characters. Only the A-Z, a-z, 0-9, "-", and "," characters are allowed in /home/www/website/j3-10-8/libraries/joomla/session/handler/native.php on line 260
    [03-May-2022 17:53:13 Europe/Berlin] PHP Warning:  session_start(): Failed to read session data: files (path: /tmp) in /home/www/website/j3-10-8/libraries/joomla/session/handler/native.php on line 260


    Ich nutze J3.10.8 mit

    PHP 8.0.21


    Sessions werden als PHP für 15 Minuten geschrieben


    Wisst ihr, was das sein kann?

  • Zitat


    Gehe mal zurück auf PHP 7.4


    Ich nutze seit rund 13 Monaten PHP 8.0 und es ist in der Umgebung nicht so einfach umzustellen, da auch andere Präsenzen davon betroffen wären.

    Wie gesagt, heute das erste Mal, dass das auftaucht


    Stimmen die Pfade zu den /logs und /tmp-Ordner?

    Eigentlich schon, betrachte ich den /tmp Ordner, so sehe ich die Sessions

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von tekknotrip mit diesem Beitrag zusammengefügt.

  • Elwood


    Code
        public $log_path = '/home/www/website/j3-10-8/logs';
        public $tmp_path = '/home/www/website/j3-10-8/tmp';


    logs:


    tmp:


    Aber auch diese Einstellung ist seit Jahren unverändert


    Ich kenne das, wenn der Sitzungsspeicher auf 'Dateisystem' gestellt ist (Konfiguration System -> Tab)

    So ist es auch, nur dass die Einträge im error_log heute extremst massiv sind (in den letzten 4 Stunden rund 800 Einträge).

    Ich habe /tmp mal geleert, mal schauen, was das error_log macht.

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von tekknotrip mit diesem Beitrag zusammengefügt.

  • Ich habe /tmp mal geleert, mal schauen, was das error_log macht.

    Nee, hat nichts gebracht


    Hast du irgenwwas installiert oder ein Update zugelassen, denn session_start()generiert eine Warnung, wenn PHPSESSID unzulässige Zeichen enthält

    Nein, nichts installiert.


    Der Inhalt einer Session sieht so aus:

    Code
    joomla|s:828:"TzoyNDoiSm9vbWxhXFJlZ2lzdHJ5XFJlZ2lzdHJ5IjozOntzOjc6IgAqAGRhdGEiO086ODoic3RkQ2xhc3MiOjE6e3M6OToiX19kZWZhdWx0IjtPOjg6InN0ZENsYXNzIjozOntzOjc6InNlc3Npb24iO086ODoic3RkQ2xhc3MiOjQ6e3M6NzoiY291bnRlciI7aToxO3M6NToidGltZXIiO086ODoic3RkQ2xhc3MiOjM6e3M6NToic3RhcnQiO2k6MTY1MTU5ODA1OTtzOjQ6Imxhc3QiO2k6MTY1MTU5ODA1OTtzOjM6Im5vdyI7aToxNjUxNTk4MDU5O31zOjY6ImNsaWVudCI7Tzo4OiJzdGRDbGFzcyI6MTp7czo5OiJmb3J3YXJkZWQiO3M6MTM6IjE4OC4xMzguOS4xNzkiO31zOjU6InRva2VuIjtzOjMyOiJRZnBwWktZUXk0RUlUWTNNNTRnalBGcHB0SHRWTFhTOSI7fXM6ODoicmVnaXN0cnkiO086MjQ6Ikpvb21sYVxSZWdpc3RyeVxSZWdpc3RyeSI6Mzp7czo3OiIAKgBkYXRhIjtPOjg6InN0ZENsYXNzIjowOnt9czoxNDoiACoAaW5pdGlhbGl6ZWQiO2I6MDtzOjk6InNlcGFyYXRvciI7czoxOiIuIjt9czo0OiJ1c2VyIjtPOjIwOiJKb29tbGFcQ01TXFVzZXJcVXNlciI6MTp7czoyOiJpZCI7aTowO319fXM6MTQ6IgAqAGluaXRpYWxpemVkIjtiOjA7czo5OiJzZXBhcmF0b3IiO3M6MToiLiI7fQ==";

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: 2 Beiträge von tekknotrip mit diesem Beitrag zusammengefügt.

  • Ich habe was ähnliches gefunden aber bin nicht sicher ob es sich um das gleiche Problem handelt, de es schon relativ alt ist:

    The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,'
    How to solve : Warning: session_start() [function.session-start]: The session id is too long or contains illegal characters, valid characters are a-z, A-Z,…
    stackoverflow.com


    Vielleicht hilft es dir trotzdem bei der Analyse

  • Danke für den Link, den habe ich auch gefunden und nach diesem Eintrag:


    Zitat

    It is an information vulnerability: a malicious attacker may alter the cookies and assign illegal characters to PHPSESSID to expose this PHP warning, which in fact contains juicy information like the file path and the username!

    habe ich den Thread hier eröffnet

  • Ok, ich glaube die Ursache gefunden zu haben, aber nicht die Lösung.


    In meinem SPAM Ordner habe ich rund 18.000 E-Mails Seite heute Nachmittag.

    Scheinbar missbraucht einer das Kontaktformular, was ich jetzt deaktiviert habe. Die E-Mails sind immer gleich:


    Zum Verständnis: Welche Datei meinst du eigentlich? php_error_log oder error.php?

    Du redest von php_error_log Datei und postest ein Bild vom Joomla-Admin Verzeichnis mit error.php.

    nein, die Einträge sind im php_error_log. Der Screenshot ist auf eine von Elwood gestellte Frage, ob die Pfade korrekt wären


    Der Betreff der E-Mails ist immer anders:

    Zitat

    Betreff: 1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'


    mit

    Code
    find . -mtime -1 -ls |more

    Finde ich zumindest mal nichts auffälliges

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: 3 Beiträge von tekknotrip mit diesem Beitrag zusammengefügt.

  • Elwood danke


    Alle Punkte schon vor längerer Zeit erledigt.

    • Google ReCAPTCHA oder ECC+ einsetzen
    • Kontaktformular richtig einstellen
    • Registrierung deaktivieren
    • E-Mail- Empfehlung deaktivieren

    Das Problem scheint zu sein, dass ein Bot versucht, das Formular zu benutzen, um mit dem Betreff ein Code auszuführen.

    Da helfen die Einstellungen wenig. Was aber hilft, dass Formular zu deaktivieren, was ich jetzt mal gemacht habe.


    Die Sessions aber laufen noch immer falsch


    Nachtrag


    nachdem ich das Kontaktformular offline genommen habe, die Sessions kurz auf die DB umgestellt und den /tmp nochmals geleert habe, ist Ruhe.


    Vor ca. 1,5 Stunden habe ich die Sessions wieder auf PHP umgestellt und alles läuft so, wie es soll.


    Mit dem Befehl

    Code
    find . -mtime -1 -ls |more

    kann man per SSH nachschauen, was in den letzten 24 Stunden an Dateien so verändert wurde und da ist nichts auffälliges dabei. Morgen werde ich mir mal die Logfiles mit

    Code
    awk '{print $10}' /var/log/nginx/access.log | sort | uniq -c | sort -n

    vornehmen. Aber ganz gleich, was ich finden werde oder nicht, würde ich der Sache dennoch auf den Grund gehen, wie man auf diese Art und Weise eine Attacke auf die Webseite machen kann. Ich kann mit die Logik dahinter nicht verstehen.


    Vielleicht war es auch nur ein sinnloser Bot


    Ich möchte mich an dieser Stelle einmal für eure raschen Reaktionen und Anregungen bedanken!!!

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von tekknotrip mit diesem Beitrag zusammengefügt.

  • Indigo66

    Danke für den Hinweis, nur ging das gestern im Minutentakt. Wenn ich weiter oben etwas editiert hätte, wäre es im Kontext untergegangen.


    Nachforschungen haben ergeben, dass es einen Hackversuch gegeben hat. Ich denke einmal, dass dieser nicht erfolgreich war, da keine neuen Daten in den letzten 24 Stunden auf den Server geladen wurden. Die Attacke sah so aus:

    Code
    31.41.244.0 - - [03/May/2022:15:41:37 +0200] "POST /j-myhotel/search-hotels HTTP/1.0" 200 - "https://www.google.com/search?hl=en&q=testing" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.0 Safari/537.36" www.website.de


    Das meiste, was ich dazu finden konnte, ist entweder ein XSS oder svg Hack.

    Preventing XSS attack via Referrer header in Classic ASP
    I'm currently trying to tie down some legacy areas of our code. Acunetix report says: HTTP Header input Referer was set to…
    stackoverflow.com

    Bei dem die Cookies und Sessions manipuliert werden. Das hat aber scheinbar nicht funktioniert.


    Ich habe in meiner .htaccess die Zeilen seit J3.10.0 hinzugefügt - dass muss man manuell machen und ich denke, dass hat hier geholfen:


    Der zweite Angriff ging dann über das Kontaktformular, was mir rund 18.000 Mails einbrachte:

    Code
    31.41.244.0 - - [03/May/2022:17:43:37 +0200] "GET /](d+[.d]+) HTTP/1.0" 200 1512 "https://www.google.com/search?hl=en&q=testing" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.0 Safari/537.36" www.website.de

    Das Formular wurde abgestellt, die Sessions bereinigt und seitdem ist Ruhe.


    Zur Sicherheit aber wurde dennoch ein Backup von vor 24 Stunden eingespielt und die Passwörter geändert