Projekt

Allgemein

Profil

Aktionen

Bug #258

offen

[Bugsink] ErrorException: Warning: file_get_contents(https://verl.ratsinfomanagement.net/webservice/portal/getSearch?type=%28select%20198766%2A667891%20from%20…

Von Bug Sink vor etwa 1 Monat hinzugefügt.

Status:
Neu
Priorität:
wichtig
Zugewiesen an:
-
Beginn:
20.09.2026
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

Bugsink: https://bugsink.cytrus.de/issues/issue/0093e859-0638-4a93-8102-0b4776695831/event/last/

Typ: NEW issue

Projekt: www-verl-de

Bugsink Alert

ErrorException: Warning: file_get_contents(https://verl.ratsinfomanagement.net/webservice/portal/getSearch?type=%28select%20198766%2A667891%20from%20…


Automatisch erstellt durch n8n

KI-Analyse:

Analyse

1. Ursache

Der Fehler entsteht durch einen fehlerhaft konstruierten HTTP-Request an einen externen Webservice (verl.ratsinfomanagement.net). Zwei kritische Probleme:

  • Doppelt kodiertes Ampersand (&): Die URL enthält & statt &. Das bedeutet, der Query-String wurde offenbar HTML-entkodiert an file_get_contents() übergeben, oder die URL wurde aus einem HTML-Kontext entnommen, ohne erneut zu encoden. Dadurch kann der Remote-Server die Parameter nicht korrekt parsen → HTTP 500.

  • SQL-Fragment im URL-Parameter: type=(select 198766*667891 from DUAL) ist ein SQL-Ausdruck, der als Query-Parameter übergeben wird. Das deutet auf eine SQL-Injection-Probe oder auf eine unsachgemäße Weiterleitung von User-/Datenbankinput in die URL hin.

Der Aufruf von file_get_contents() mit dieser fehlerhaften URL löst den Warning/ErrorException aus.

2. Fix (konkret)

  1. URL-Konstruktion prüfen: Stelle sicher, dass Query-Strings mit http_build_query() generiert werden und & (nicht &) enthalten.
  2. Eingabevalidierung: Der type-Parameter sollte NICHT rohe SQL-Ausdrücke enthalten. Input-Sanitization prüfen – falls dies User-Input ist: Whitelist/Validierung hinzufügen.
  3. Statt file_get_contents() TYPO3 RequestFactory nutzen:
    use TYPO3\CMS\Core\Http\RequestFactory;
    $response = GeneralUtility::makeInstance(RequestFactory::class)->request($url);
    
    Das liefert saubere Exceptions statt PHP-Warnings.
  4. Error-Handling: Umgebungsfehler des externen Services abfangen (Timeout, 5xx) damit die TYPO3-Seite nicht komplett abstürzt.

3. Betroffene Extension

Höchstwahrscheinlich eine Ratsinformationsmanagement-Extension für TYPO3 (z. B. wsr/ratsindustrie, dmacher/ratsinfo oder eine angepasste Custom-Extension für den Standort Verl). Die Domain verl.ratsinfomanagement.net bestätigt den Kontext. Die betroffene Extension muss im Projekt-Verzeichnis identifiziert werden (suche nach file_get_contents + ratsinfomanagement / getSearch).

4. Confidence

75% – Die Diagnose (&-Encoding-Fehler + SQL-Fragment im Request) ist klar. Ohne Zugriff auf den konkreten Extension-Code kann ich die exakte Extension und die Stelle im Quellcode nicht mit 100%iger Sicherheit benennen.

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF