security - 请解释 Notepad++ 的 DLL 劫持是如何工作的

标签 security dll notepad++

Notepad++ 承认了这个 DLL 劫持 漏洞: https://wikileaks.org/ciav7p1/cms/page_26968090.html 我没有从描述中得到它是如何工作的。作为 Notepad++ 用户,我很担心,作为开发人员,我也很好奇。

这里有一个通用的DLL 劫持解释- What is dll hijacking? .有点太笼统了。

这是否意味着要有效利用此漏洞,攻击者必须首先控制我的 PC,使用不同的攻击向量,将恶意版本 SciLexer.dll (?) 植入 DLL搜索路径?

如果攻击者已经对我的 PC 拥有如此强大的能力,他为什么还要费心使用 Notepad++。为什么不追求更多的核心库甚至系统库?

我也没有从维基解密文本中得到这句话的含义:对于我来说,我无法调用此函数 [Scintilla_DirectFunction(..)]。如果这是该 DLL 中唯一导出的函数,记事本核心唯一调用的函数,为什么不调用它?这也意味着恶意代码也不会被调用。

被黑客入侵的 SciLexer.dll 是否真的被 CIA 或其他任何人检测到,被黑客入侵,或者它只是一个被发现的可能性?

还有最新版本 7.3.3 中的 Notepad++ 团队,在发行说明中声称他们“修复了 CIA Hacking Notepad++ 问题”。有什么想法可以做到吗?

最佳答案

DLL 劫持攻击很简单:考虑包含许多文件的下载目录。

如果有人设法让您下载被操纵的 SciLexer.dll dll,它很可能会被下载到您的下载目录中。下载后您无需对该文件执行任何操作,该文件将保留在下载后的位置。

后来你从网上下载了一个txt文件,这个文件也放在了下载目录下。

如果您现在打开资源管理器并双击下载的 txt 文件,当前目录就是下载目录。然后,dll 劫持易受攻击的 Notepad++ 版本将在当前目录(现在是下载目录)中搜索要加载的 SciLexer.dll 文件。因此,Notepad++ 将加载您之前下载的经过处理的 SciLexer.dll

关于修复,您可以查看 source code changes that fixes the bug . 似乎 Nodepad++ 团队改变了这个 dll 的加载方式,另外他们添加了 SciLexer.dll 的证书检查。

关于security - 请解释 Notepad++ 的 DLL 劫持是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43044855/

相关文章:

ios - 添加第二个证书时,SecItemAdd 返回 -25299

dll - 如何浏览 ActiveX DLL 的类和方法?

Notepad++ 中的 PHPDoc 注释?

matlab - 从 Notepad++ 运行 MATLAB 脚本

正则表达式删除一行中第一个空格出现之前的所有内容?

c - 为什么这段代码容易受到缓冲区溢出攻击?

security - AWS 安全组和 Azure 网络安全组的工作方式是否相同?

security - gcc -D_FORTIFY_SOURCE=1 和 -D_FORTIFY_SOURCE=2 之间的区别

Python 名称错误 : name 'ctypes' is not defined

python - 未从记录的搜索路径加载 DLL