Drupal 8 schreibt PHP-Dateien
Kommentare

Ab Version 8 wird es Drupal-Entwicklern leichter gemacht, PHP-Dateien auf den Server zu schreiben. Ein neues Core-Feature in Drupal 8 soll die alten Umwege über FTP oder SSH unnötig machen. Dank des

Ab Version 8 wird es Drupal-Entwicklern leichter gemacht, PHP-Dateien auf den Server zu schreiben. Ein neues Core-Feature in Drupal 8 soll die alten Umwege über FTP oder SSH unnötig machen. Dank des neuen APIs entfallen unsichere Upload-Skripte, sodass ein derartiges Feature erst denkbar wurde.

Unter Drupal 7 musste beim Einbinden oder Aktualisieren neuer Module das System kurzzeitig gestoppt werden. Beim Upload eigener Module wurden dann Skripte wie dieses verwendet. Doch konnten sie auch genutzt werden, um Schadcode einzuschleusen. Chris Cornutt hatte erst neulich erläutert, was gezinkte Uploads in PHP-Systemen anrichten können.

Daher ist das Drupal 8 API mit ein paar Sicherheitsschikanen versehen worden:

  • die PHP-Dateien werden ins Dateiverzeichnis geschrieben, wo sie via .htaccess-Regel gegen Ausführung geschützt sind

  • die Dateien werden sofort nach einem System umbenannt, das sich Angreifern nicht leicht erschließt
  • die Identität der Datei wird über den mtime-Wert immer bestätigt, sodass sie nicht einfach ersetzt werden kann
  • Datei und Verzeichnis sind schreibgeschützt und werden nicht in Listen aufgenommen

Dennoch hat das API einige Risiken:

  • Fehler werden offen dargestellt und geben den Dateinamen preis (was wegen des mtime-Checks (s.o.) Hackern nur eine Sekunde Zeit lässt)

  • es verwendet ein unsicheres Upload-Skript (wie oben erwähnt)

Kurzfristig soll das neue Drupal 8 API im Dependency Injection Container eingesetzt werden. Später überlegt man seinen Einsatz in Twig und Modul-Upgrades. Der Code ist so eigenständig, dass er auch für Core-Upgrades eingesetzt werden könnte.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -