Sicherheitslücke - Möglichkeit von Cross-Site-Scripting/XSS
- Henshingly
- Administrator

- Beiträge: 600
- Registriert: Sa 1. Sep 2018, 14:21
- Wohnort: Dortmund
Sicherheitslücke - Möglichkeit von Cross-Site-Scripting/XSS
Ich wurde von Tobi darauf hingewiesen das es eine Sicherheitslücke im LMO zu geben scheint.
Diese Lücke besteht in allen "alten" LMO's (auch schon die auf der Downloadseite von www.liga-manager-online.de) und natürlich auch in der momentan aktuellsten Version LMO 4.1.4.
Diese Lücke nennt sich Cross-Site-Scripting – kurz XSS – So wird das Ausnutzen von Sicherheitslücken in Webanwendungen bezeichnet.
Durch diese Lücke ist es leider möglich das durch Skripte in der URL des LMO's, Server- oder Clientseitig Schadcode ausgeführt wird. Mir persönlich ist noch kein Fall bekannt wo dieses passiert ist. Aber Vorsicht ist besser als Nachsicht.
Ich möchte deswegen hier ein kleines Sicherheitsupdate für den LMO anbieten. Dieser Sicherheitspatch ist für alle LMO Versionen ab LMO 4.0.2rc02 kompatibel.
Er beinhaltet nur 3 Dateien des LMO's. Diese 3 Dateien einfach per FTP in den ROOT Ordner eures LigaManagerOnline hochladen und die drei vorhandenen Dateien überschreiben.
Grüße Henshingly
Diese Lücke besteht in allen "alten" LMO's (auch schon die auf der Downloadseite von www.liga-manager-online.de) und natürlich auch in der momentan aktuellsten Version LMO 4.1.4.
Diese Lücke nennt sich Cross-Site-Scripting – kurz XSS – So wird das Ausnutzen von Sicherheitslücken in Webanwendungen bezeichnet.
Durch diese Lücke ist es leider möglich das durch Skripte in der URL des LMO's, Server- oder Clientseitig Schadcode ausgeführt wird. Mir persönlich ist noch kein Fall bekannt wo dieses passiert ist. Aber Vorsicht ist besser als Nachsicht.
Ich möchte deswegen hier ein kleines Sicherheitsupdate für den LMO anbieten. Dieser Sicherheitspatch ist für alle LMO Versionen ab LMO 4.0.2rc02 kompatibel.
Er beinhaltet nur 3 Dateien des LMO's. Diese 3 Dateien einfach per FTP in den ROOT Ordner eures LigaManagerOnline hochladen und die drei vorhandenen Dateien überschreiben.
Grüße Henshingly
- Dateianhänge
-
Patch.zip- XSS Patch für den LMO (19.12.2024)
- (6.84 KiB) 452-mal heruntergeladen
Kein Support über PN oder eMail.
Support gibt es nur im Forum.
Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)
Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Support gibt es nur im Forum.
Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)
Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
- Henshingly
- Administrator

- Beiträge: 600
- Registriert: Sa 1. Sep 2018, 14:21
- Wohnort: Dortmund
Re: Sicherheitslücke - Möglichkeit von Cross-Site-Scripting/XSS
Kleines Update zum absichern gegen die XSS-Lücke im LMO. Es besteht weiterhin die Möglichkeit eines XSS Angriffs durch die Verwendung von ASCII Zeichen, die durch ein "%" Zeichen mit dem nachfolgenden Hexadezimal Code dargestellt werden, statt von "normalen" Zeichen.
Kleiner Fix dazu.
Im vorherigen Download ist auch die init.php Datei.
Diese mit einem Texteditor öffnen und die Zeile 24
ändern in
Sollte euer Webserver noch mit PHP 7.4 laufen so ändert die Zeile 24 in
Da die Funktion str_starts_with() aus der oberen Änderung erst ab PHP 8 verfügbar ist. Ein weiterer Hinweis endlich dieses zu ändern. Dazu bitte auch die Umfrage hier beantworten.
Vielen Dank an DwB für die Hilfe
Gruß Henshingly
Kleiner Fix dazu.
Im vorherigen Download ist auch die init.php Datei.
Diese mit einem Texteditor öffnen und die Zeile 24
Code: Alles auswählen
if (str_starts_with($value, '<'))ändern in
Code: Alles auswählen
if (str_starts_with(urlencode($value), '<') || str_starts_with(urlencode($value), '%'))Sollte euer Webserver noch mit PHP 7.4 laufen so ändert die Zeile 24 in
Code: Alles auswählen
if (substr(urlencode($value), 0, 1) == '<' || substr(urlencode($value), 0, 1) == '%')Vielen Dank an DwB für die Hilfe
Gruß Henshingly
Zuletzt geändert von Henshingly am Do 1. Mai 2025, 10:48, insgesamt 2-mal geändert.
Kein Support über PN oder eMail.
Support gibt es nur im Forum.
Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)
Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Support gibt es nur im Forum.
Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)
Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
- Henshingly
- Administrator

- Beiträge: 600
- Registriert: Sa 1. Sep 2018, 14:21
- Wohnort: Dortmund
Re: Sicherheitslücke - Möglichkeit von Cross-Site-Scripting/XSS
Hier nochmal die Änderungen als Download.
Die lmo-dirlist.php ist nur im Zip-File, falls jemand den inzwischen gelöschten Download von hier heruntergeladen hatte.
Ansonsten handelt es sich dabei um die Datei aus der LMO Version 4.1.4.
MfG Henshingly
Ansonsten handelt es sich dabei um die Datei aus der LMO Version 4.1.4.
MfG Henshingly
Zuletzt geändert von Henshingly am Sa 20. Dez 2025, 14:14, insgesamt 3-mal geändert.
Kein Support über PN oder eMail.
Support gibt es nur im Forum.
Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)
Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Support gibt es nur im Forum.
Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)
Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
- Henshingly
- Administrator

- Beiträge: 600
- Registriert: Sa 1. Sep 2018, 14:21
- Wohnort: Dortmund
Re: Sicherheitslücke - Möglichkeit von Cross-Site-Scripting/XSS
Neu eingecheckt auf GitHub Update des XSS patches. Wird mit der nächsten LMO herausgegeben.
Wer nicht so lang warten möchte...
Download auch hier.
DOWNLOAD GELÖSCHT
Der Patch macht nun auch eine LOG Datei in der potentielle Angriffe dokumentiert werden (xss_log.txt).
Dort wird die Uhrzeit und die IP Adresse des Angreifers gespeichert. Hier mal ein kleiner Auszug aus meinen Versuchen.
Wer nicht so lang warten möchte...
Download auch hier.
DOWNLOAD GELÖSCHT
Der Patch macht nun auch eine LOG Datei in der potentielle Angriffe dokumentiert werden (xss_log.txt).
Dort wird die Uhrzeit und die IP Adresse des Angreifers gespeichert. Hier mal ein kleiner Auszug aus meinen Versuchen.
Gruß Henshingly[2026-02-23 12:59:54] [IP: 127.0.0.1] Security: Potential XSS/Tags removed from $_GET[file]
[2026-02-23 12:59:54] [IP: 127.0.0.1] Security: Potential XSS/Tags removed from $_REQUEST[file]
[2026-02-23 13:00:24] [IP: 127.0.0.1] Security: Potential XSS/Tags removed from $_GET[stat1]
[2026-02-23 13:00:24] [IP: 127.0.0.1] Security: Potential XSS/Tags removed from $_REQUEST[stat1]
[2026-02-23 13:08:07] [IP: 127.0.0.1] Security: Potential XSS/Tags removed from $_GET[stat1]
[2026-02-23 13:08:07] [IP: 127.0.0.1] Security: Potential XSS/Tags removed from $_REQUEST[stat1]
Zuletzt geändert von Henshingly am Fr 6. Mär 2026, 08:43, insgesamt 4-mal geändert.
Kein Support über PN oder eMail.
Support gibt es nur im Forum.
Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)
Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Support gibt es nur im Forum.
Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)
Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
- Henshingly
- Administrator

- Beiträge: 600
- Registriert: Sa 1. Sep 2018, 14:21
- Wohnort: Dortmund
Re: Sicherheitslücke - Möglichkeit von Cross-Site-Scripting/XSS
Mit dem letzten Update des XSS-Patches bin ich ein wenig über das Ziel hinaus geschossen.
Zum Beispiel wurden gewollte Eingaben mit Sonderzeichen im Adminmenü durch HTML Code ersetzt.
Hatte ich bemerkt als ich bei Tests den Teamnamen Borussia M'gladbach eingeben wollte.
Der wurde in der Ligadatei ungewollt durch Borussia M'gladbach ersetzt.
Hier nun ein weiteres Update des XSS-Patches. Den voherigen habe deswegen entfernt.
Gruß Henshingly
Zum Beispiel wurden gewollte Eingaben mit Sonderzeichen im Adminmenü durch HTML Code ersetzt.
Hatte ich bemerkt als ich bei Tests den Teamnamen Borussia M'gladbach eingeben wollte.
Der wurde in der Ligadatei ungewollt durch Borussia M'gladbach ersetzt.
Hier nun ein weiteres Update des XSS-Patches. Den voherigen habe deswegen entfernt.
Gruß Henshingly
Zuletzt geändert von Henshingly am Fr 6. Mär 2026, 11:32, insgesamt 1-mal geändert.
Kein Support über PN oder eMail.
Support gibt es nur im Forum.
Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)
Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Support gibt es nur im Forum.
Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)
Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)