我有一个DLL,它在DllMain()函数中调用SetDllDirectory()。DLL ()的参数是GetModuleFileName()函数返回的SetDllDirectory所在的目录。这样做的结果是,如果将DLL作为c:/foo/bar.dll放置,则加载bar.dll会将c:/foo添加到调用进程的DLL搜索路径中。
我的问题是:这是否打开了任何形式的安全漏洞?在一个必须由加载库的进程显式调用的函数中执行SetDllDirectory()调用是否更安全?
发布于 2009-01-28 21:57:23
不是的。其实也不是新的。由于应用程序路径是windows查找dll的第一位置,因此有人可能会在此文件夹中放置恶意dll。因此,如果不调用SetDllDirectory(),就会有一个安全漏洞。
https://stackoverflow.com/questions/489552
复制相似问题