Ein Programmierer, der beispielsweise die Codezeile HMODULE MyDLL = LoadLibraryA("C:\Program Files\My Company\My App\MyDLL.DLL");
verwendet, kann sicher sein, dass er entweder die Datei MyDLL.DLL aus dem Verzeichnis C:Program FilesMy CompanyMy App in seine Applikation lädt oder einen Fehler auslöst, weil die gewünschte Datei nicht existiert.
Die Fehlerbedingung wird recht häufig auftreten, weil die Datei MyDLL.DLL aus den verschiedensten Gründen in einem anderen Verzeichnis liegen kann. Die bekanntesten davon sind:
Daher geben Entwickler oft gar keinen Pfad an und nutzen etwa Code wie HMODULE MyDLL = LoadLibraryA("MyDLL.DLL");
. Dann verwendet Windows die Default-Suche für DLL-Dateien. Ab Windows XP SP2 wird standardmäßig folgende Reihenfolge verwendet:
Eine Applikation, die ihre DLLs grundsätzlich im selben Verzeichnis ablegt wie ihre eigene EXE-Datei, ist nicht betroffen. Entwickler, die sich in ihrem Prozess eine PATH-Variable zusammensetzen, um DLLs zu finden, berücksichtigen oft nicht, dass der Pfad erst nach dem aktuellen Verzeichnis durchsucht wird.
Damit eine Anwendung verwundbar ist, müssen natürlich noch ein paar Nebenbedingungen erfüllt sein. Erforderlich ist unter anderem, dass die Applikation tatsächlich das aktuelle Verzeichnis wechselt, wenn der Benutzer eine Funktion wie "Datei – öffnen" aufruft. Außerdem sollte sie möglichst unmittelbar danach eine DLL nachladen.
Wenn die Applikation alle Bedingungen erfüllt, hat der Angreifer ein leichtes Spiel. In manchen Fällen muss er wissen, welche Funktionsnamen oder Ordinal die Anwendung aus der DLL aufruft und die entsprechenden Funktionen in seiner DLL ebenfalls implementieren – allerdings mit Schadcode.
Wenn die Applikation nicht überprüft, ob alle nötigen Funktionen in der DLL vorhanden sind, hilft dem Angreifer die Funktion DllMain, die in jeder DLL implementiert ist. Sie wird aufgerufen, wenn ein Prozess oder Thread eine DLL lädt beziehungsweise aus dem Speicher entfernt. In dieser Funktion kann der Hacker seinen Schadcode implementieren.
Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…
Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…
Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…
Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.
Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…
Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.