使用SetDllDirectory可能的安全漏洞?
我有一个DLL在DllMain()函数中调用SetDllDirectory()。 SetDllDirectory()的参数是DLL所在的目录,由GetModuleFileName()函数返回。 这样做的效果是,如果将DLL放在c:/foo/bar.dll
,那么加载bar.dll
会将c:/foo
添加到调用进程的DLL搜索路径中。
我的问题是:这是否会打开任何形式的安全漏洞? 在函数中执行SetDllDirectory()调用会更安全吗?必须由加载该库的进程显式调用该函数?
事实并非如此。 实际上并不是一个新的。 由于应用程序路径是第一个地方Windows寻找DLL可能有人可以放置一个恶意的DLL在这个文件夹。 所以没有你的SetDllDirectory()调用有一个安全漏洞。
链接地址: http://www.djcxy.com/p/44481.html