是否可以在 WordPress 中找到缓冲区溢出?

信息安全 php 缓冲区溢出 WordPress
2021-09-01 15:26:26

我与一位渗透测试人员进行了一次有趣的交谈,他告诉我他在 Wordpress 中发现了缓冲区溢出。那个人真的很坚定,这是真的。客户对渗透测试公司的技术能力有点怀疑,并询问了我的意见。

所以我的问题是:有没有人听说过有人通过向某个 PHP 发出 GET 请求发现了 WordPress 中的缓冲区溢出?

我的观点:如果这是真的,他会在 PHP 解释器中发现缓冲区溢出,这将是巨大的。所以我不认为这是真的。

编辑: BOF 在两个地方:

  • 在客户端构建的 php 函数中,具有与 XSS 漏洞相同的有效负载(因此类似于 123">alert(0);

  • 在 wp_session 令牌中只有一堆 A (~60)

这一切都是在外部完成的,在对大约 10 个不同网站的例行快速渗透测试中无法访问服务器......

在对应该易受攻击的部分进行实际代码审查后,我将进行更新

编辑: 所以我进行了代码审查,这确实是一个 BS 故事。BOF 不仅根本不存在,而且他实际上说在代码的一部分中发现了一个 SQLi,它对数据库完全没有任何作用。

但至少评论中的讨论对 BOF 这类标准平台和 CMS 的可能性非常有洞察力,所以我学到了很多!谢谢!

4个回答

由于 PHP 自己进行内存管理和许多工作,因此专门在 WordPress 中查找缓冲区溢出对我来说并没有什么意义。

在抹黑那个渗透测试仪之前,我会要求他/她提供有关发现的文件由于他/她为所述客户工作(听起来很像,如果我错了,请纠正我),向客户报告此类问题是他/她的工作,包括至少一种追踪/复制方法的文档问题。

正如你所说,我非常怀疑他/她只能从外部访问网络服务。从外部验证像缓冲区溢出这样的低级问题(这甚至超出了一般的 web 服务或 wordpress)几乎是不可能的。

执行一个很棘手,即使您可以访问源代码,但似乎并非如此(假设它不是白盒测试)。

PS:如果您从客户/测试人员那里得到答复,我很乐意听到。不知为何,你让我很好奇……

可能是他在 PHP 或 glibc 中发现了一个缓冲区溢出,可以通过 Wordpress 加以利用。例如,3 年前 gethostbyname() 中有一个漏洞,可以通过 Wordpress 加以利用。它被称为 GHOST 漏洞。

如果您有一个没有更新的非常旧的操作系统以及一个非常旧的 Wordpress,那可能是真的。

正如 GxTruth 提到的,PHP 进行内存管理。这意味着在 php 上运行的任何东西基本上都可以像 php 一样安全地防止缓冲区溢出(除非你正在做一些非常疯狂的事情)。

但是 php 对缓冲区溢出并不是 100% 安全的:https ://stackoverflow.com/questions/11817576/is-php-buffer-overflow-possible

如果这个渗透测试者确实发现了缓冲区溢出,他们应该能够准确地告诉你如何重现它。那时,您应该能够将其跟踪到代码中。这可能是由以前修补过的 WP/PHP 版本引起的。始终确保您了解整个技术堆栈中的最新补丁。

如果这是最新版本中的错误,则收集相关信息并提交相应的错误报告。你可以在这里通知开发 php 的人:http: //bugs.php.net/确保将您的错误标记为security相关。首先阅读此内容也很重要:https ://wiki.php.net/security 。此外,将此情况报告给 WordPress 或任何受影响的第三方插件/主题的开发人员,以便他们可以在 PHP 本身被修补时采取措施缓解问题。


如果这是一个问题,尽管我们可能很想知道它是什么,但在受影响代码的维护者有机会修复它之前不要公开报告这个问题,因为这将影响网络上的许多站点,而不仅仅是你的。

它可能是这四个之一:

  • 他可能不知道正确的名称,并称 hashdos 之类的东西为“缓冲区溢出”,因为它会将数组填充到无法响应或崩溃的程度。
  • 他可能在 PHP 中发现了缓冲区溢出,用外行的话来说,称其为“在 Wordpress 中”,因为人们可能不知道他们在后台运行 PHP,而只知道它是 Wordpress。
  • 他可能已经发现了可以通过 Wordpress 来利用 PHP 的缓冲区溢出。
  • 他可能不知道他在说什么。

我会说后者是迄今为止最有可能的。