【问题标题】:Possible security hole using SetDllDirectory?使用 SetDllDirectory 可能存在安全漏洞?
【发布时间】:2009-01-28 21:49:58
【问题描述】:

我有一个 DLL,它在其 DllMain() 函数中调用 SetDllDirectory()。 SetDllDirectory() 的参数是 DLL 所在的目录,由 GetModuleFileName() 函数返回。这样做的效果是,如果DLL被放置为c:/foo/bar.dll,那么加载bar.dll会将c:/foo添加到调用进程的DLL搜索路径中。

我的问题是:这会带来任何形式的安全漏洞吗?在加载库的进程必须显式调用的函数中执行 SetDllDirectory() 调用会更安全吗?

【问题讨论】:

    标签: security dll


    【解决方案1】:

    不是。嗯,其实不是一个新的。由于应用程序路径是 Windows 查找 dll 的第一个位置,因此有人可能会在此文件夹中放置恶意 dll。因此,没有您的 SetDllDirectory() 调用存在安全漏洞。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-25
      • 1970-01-01
      • 2017-11-24
      • 2011-12-17
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      相关资源
      最近更新 更多