So verhindern Sie Sicherheitslücken beim Datei-Upload

So verhindern Sie Sicherheitslücken beim Datei-Upload
Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

Datei-Upload-Module sind eines der schwächsten Glieder in Webanwendungen. Jeder Fehler, selbst wenn Sie ihn für klein halten, könnte dazu führen, dass die Serverkontrolle direkt in die Hände eines Cyberangreifers fällt. Aus diesem Grund müssen Softwareentwickler die häufigsten Fehler und einige Angriffsmethoden kennen, die auftreten können.





MAKEUSEOF VIDEO DES TAGES

Was ist also clientseitige Manipulation? Wie können Sie dagegen ankämpfen, um Ihre Websites und Ihre Benutzer zu schützen?





Was ist clientseitige Manipulation?

Clientseitige Manipulation ist das Grundkonzept von Angriffen auf Webanwendungen als Ganzes. Einfach ausgedrückt bedeutet dies, dass Sie den Daten, die Sie an den Benutzer senden, nicht mehr vertrauen können. Darüber hinaus ist die clientseitige Manipulation eine der Grundlagen der sicheren Anwendungsentwicklung. Wenn Sie das Datei-Upload-Modul untersuchen, mit dem Sie es zu tun haben, und eine clientseitige Manipulation in Betracht ziehen, gehören zu den Daten, denen Sie nicht vertrauen können, folgende:





  • Der Name der hochgeladenen Datei.
  • Der Inhaltstyp der hochgeladenen Datei.

Diese beiden Artikel sind wo Sie haben die Möglichkeit zur Whitelist als Softwareentwickler. Die Namensdaten der hochgeladenen Datei können alles enthalten, was manipuliert werden kann. Mit den Content-Type-Daten der hochgeladenen Datei kann diese Datei, selbst wenn der Angreifer eine .exe-Datei hochlädt, als Bild/JPEG im System erscheinen.

Dateierweiterung und Whitelist

 Überprüfen der in das System hochgeladenen Dateierweiterungen

Bei der Entwicklung von Datei-Upload-Modulen ist das erste, was zu tun ist den Whitelisting-Prozess für die Dateierweiterung . Ein Benutzer möchte beispielsweise eine Datei mit dem Namen 'muo.jpeg' hochladen. Sie müssen sicherstellen, dass diese Dateierweiterung, die der Benutzer hochladen möchte, .jpeg ist. Dazu sollte das System die hochgeladene Datei prüfen und prüfen, ob es sich um eine der zulässigen Dateierweiterungen handelt. Um zu verstehen, wie Sie dies tun können, untersuchen Sie den folgenden einfachen PHP-Code:



$file_parts = pathinfo($filename);
switch($file_parts['extension'])
{
case "jpg":
break;

case "bat": // Or exe, dll, so, etc.
break;

case "":
case NULL: // No file extension
break;
}

Sie können dies mit einem ähnlichen Codeblock wie dem obigen tun, oder Sie können die Klassen und Funktionen verwenden, die von dem von Ihnen verwendeten Framework bereitgestellt werden.