Eerst een stuk je van het verhaal.
http://webwereld.nl/nieuw...m=website&utm_campaign=ww
http://blog.metasploit.co...-dll-hijacking-flaws.html
Je kunt als programmeur niet het hele path opgeven toch? Want dat wordt bepaald gedurende installatie. Het is toch standaard dat je DLL in de directory neerzet waar de main executable staan? Of als je systeem libraries wilt gebruiken die verschillend zijn in verschillende Windows versies dan laat je het toch per definitie door windows uitzoeken? En niet alle DLL's zijn altijd beschikbaar in alle OS versions, dit is soms juist knap beroerd gedocumenteerd. (voorbeeld ICMP.dll)
Wie weet een link hoe je dit als programmeur kunt vinden en oplossen.
PS, Ik denk dat dit taal onafhangelijk is, alle programma's die als reactie op een openen van een file een loadlibrary doen kunnen wellicht kwetsbaar zijn?
http://webwereld.nl/nieuw...m=website&utm_campaign=ww
de bug zelf:Na veel verwarring onder IT-professionals over hoe een eerste workaround van Microsoft werkte, heeft de Windows-maker een zogenaamde ‘fix it’-tool uitgegeven. Die werk alleen in combinatie met de eerdere workaround. De ‘fix it’-tool zorgt ervoor dat er geen DLL’s geladen kunnen worden van WebDAV of SMB shares. Dat zijn namelijk de meest waarschijnlijke richtingen waar aanvallen vandaan komen.
http://blog.metasploit.co...-dll-hijacking-flaws.html
Wil dit zeggen dat elk programma dat LoadLibrary gebruikt kwetsbaar is?This vulnerability is triggered when a vulnerable file type is opened from within a directory controlled by the attacker. This directory can be a USB drive, an extracted archive, or a remote network share. In most cases, the user will have to browse to the directory and then open the target file type for this exploit to work. The file opened by the user can be completely harmless, the flaw is that the application launched to handle the file type will inadvertently load a DLL from the working directory.
In practice, this flaw can be exploited by sending the target user a link to a network share containing a file they perceive as safe. iTunes, which was affected by this flaw until last week, is associated with a number of media file types, and each of these would result in a specific DLL being loaded from the same directory as the opened file. The user would be presented with a link in the form of \\server\movies\ and a number of media files would be present in this directory. If the user tries to open any of these files, iTunes would search the remote directory for one or more DLLs and then load these DLLs into the process. If the attacker supplied a malicious DLL containing malware or shellcode, its game over for the user.
( Ik denk hier vooral aan sites die ed2k links (eMule) aanbieden. maar in feite maakt dat voor de discussie niks uit)If the string specifies a full path, the function searches only that path for the module.
If the string specifies a relative path or a module name without a path, the function uses a standard search strategy to find the module; for more information, see the Remarks.
.....
Do not use the SearchPath function to retrieve a path to a DLL for a subsequent LoadLibrary call. The SearchPath function uses a different search order than LoadLibrary and it does not use safe process search mode unless this is explicitly enabled by calling SetSearchPathMode with BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE. Therefore, SearchPath is likely to first search the user’s current working directory for the specified DLL. If an attacker has copied a malicious version of a DLL into the current working directory, the path retrieved by SearchPath will point to the malicious DLL, which LoadLibrary will then load.
Do not make assumptions about the operating system version based on a LoadLibrary call that searches for a DLL. If the application is running in an environment where the DLL is legitimately not present but a malicious version of the DLL is in the search path, the malicious version of the DLL may be loaded. Instead, use the recommended techniques described in Getting the System Version.
Je kunt als programmeur niet het hele path opgeven toch? Want dat wordt bepaald gedurende installatie. Het is toch standaard dat je DLL in de directory neerzet waar de main executable staan? Of als je systeem libraries wilt gebruiken die verschillend zijn in verschillende Windows versies dan laat je het toch per definitie door windows uitzoeken? En niet alle DLL's zijn altijd beschikbaar in alle OS versions, dit is soms juist knap beroerd gedocumenteerd. (voorbeeld ICMP.dll)
Wie weet een link hoe je dit als programmeur kunt vinden en oplossen.
PS, Ik denk dat dit taal onafhangelijk is, alle programma's die als reactie op een openen van een file een loadlibrary doen kunnen wellicht kwetsbaar zijn?
Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.