Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何防止DLL劫持?_Dll_Loadlibrary_Dlopen_Dll Injection - Fatal编程技术网

如何防止DLL劫持?

如何防止DLL劫持?,dll,loadlibrary,dlopen,dll-injection,Dll,Loadlibrary,Dlopen,Dll Injection,不时发布安全建议,警告DLL注入的风险 是否有防止DLL劫持的一般方法?我不熟悉这个主题,但是请求绝对文件名而不是相对文件名应该足以防止工作目录中的恶意DLL,不是吗 如果可以覆盖我的安装目录中的DLL,也可以覆盖我的可执行文件,因此签名检查是无用的。对于请求DLL而不使用绝对路径的应用程序,可以实现DLL劫持。这会触发一个搜索过程,通过将受损的DLL放在实际版本的搜索修补程序的更高位置,可能会执行恶意代码。但是,您的安装目录应该位于搜索路径的第一位,因此它似乎不适用于您的情况。不过,在将敏感数

不时发布安全建议,警告DLL注入的风险

是否有防止DLL劫持的一般方法?我不熟悉这个主题,但是请求绝对文件名而不是相对文件名应该足以防止工作目录中的恶意DLL,不是吗


如果可以覆盖我的安装目录中的DLL,也可以覆盖我的可执行文件,因此签名检查是无用的。

对于请求DLL而不使用绝对路径的应用程序,可以实现DLL劫持。这会触发一个搜索过程,通过将受损的DLL放在实际版本的搜索修补程序的更高位置,可能会执行恶意代码。但是,您的安装目录应该位于搜索路径的第一位,因此它似乎不适用于您的情况。不过,在将敏感数据(例如密码和用户名)传递到DLL时,应该小心

如果应用程序请求DLL而不使用绝对路径,则可以实现DLL劫持。这会触发一个搜索过程,通过将受损的DLL放在实际版本的搜索修补程序的更高位置,可能会执行恶意代码。但是,您的安装目录应该位于搜索路径的第一位,因此它似乎不适用于您的情况。不过,在将敏感数据(例如密码和用户名)传递到DLL时,应该小心

在DLL劫持中,如果程序员开始使用绝对路径而不是相对路径,则漏洞将减少。读取绝对路径时,Windows或任何其他操作系统将不依赖于系统变量的路径,而是直接指向预期的DLL,从而排除在更高优先级路径中加载同名DLL的可能性。这种方法也不是防故障的,因为如果系统被破坏,并且网络罪犯知道DLL的确切路径,他们将用假DLL替换原始DLL。这将覆盖文件,使原始DLL变成恶意代码。但同样,网络罪犯需要知道调用DLL的应用程序中提到的确切绝对路径。这一过程对于网络犯罪分子来说非常艰难,因此可以信赖。

在DLL劫持中,如果程序员开始使用绝对路径而不是相对路径,那么漏洞就会减少。读取绝对路径时,Windows或任何其他操作系统将不依赖于系统变量的路径,而是直接指向预期的DLL,从而排除在更高优先级路径中加载同名DLL的可能性。这种方法也不是防故障的,因为如果系统被破坏,并且网络罪犯知道DLL的确切路径,他们将用假DLL替换原始DLL。这将覆盖文件,使原始DLL变成恶意代码。但同样,网络罪犯需要知道调用DLL的应用程序中提到的确切绝对路径。这一过程对网络罪犯来说是艰难的,因此可以信赖。

经历了这一过程吗?谢谢你的参考@Mani!但这正是我所怀疑的,不是吗?经历了这一切?谢谢你的推荐@Mani!但这基本上就是我所怀疑的,不是吗?