使用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

上一篇: Possible security hole using SetDllDirectory?

下一篇: load assembly and invoke a method if it exists