OneNav 书签管理应用 index.php 默认口令漏洞复现

Wayyt  2小时前

OneNav 书签管理应用 index.php 默认口令漏洞复现

0x00 漏洞概述

OneNav 是一款开源免费的浏览器书签(导航)管理程序,采用 PHP + SQLite 3 开发,支持集中式管理书签,可用于解决跨设备、跨平台、跨浏览器之间书签同步与访问困难的问题,具有部署简单、界面简洁等特点,常见于个人和中小团队的自建导航站点场景。

根据技术分析记录,OneNav 存在默认口令问题:部署后管理账号与密码均为 admin(即 admin/admin)。由于该应用未在安装流程中强制管理员修改初始口令(此行为依据为技术分析记录中的定性描述,具体版本的表现属推断),攻击者若能访问其登录入口,可直接使用默认口令登录后台,获得管理员权限,进而操作书签管理等核心功能,甚至利用后台的高权限能力对系统进行进一步控制。该问题综合评级为 CVSS 5.0,虽不涉及复杂的内存破坏或注入利用,但利用门槛极低、影响直接,值得部署方警惕。

0x01 影响范围

  • 受影响产品:OneNav(书签管理程序)
  • 项目主页:https://www.onenav.top/
  • 开源仓库:https://github.com/helloxz/onenav
  • 受影响版本:技术分析资料中未给出明确的受影响版本区间,厂商公告亦未检索到,具体版本范围暂不明确,此处不作臆断。

资产识别方面,可通过页面特征对目标进行确认:页面正文包含指向 https://github.com/helloxz/onenav 的链接、包含 href="/index.php?c=login" 的登录入口标记、标题形如「OneNav - 开源书签管理程序」,或包含 OneNav 的 me ta desc ription 描述特征。命中上述特征的站点大概率为一套 OneNav 部署实例,可进一步关注其管理后台是否仍使用默认口令。

0x02 漏洞分析

OneNav 的管理功能统一收口在 index.php 入口中,通过参数 c 控制调用的功能模块,登录模块对应 c=login。登录入口路径形如 /index.php?c=login,页面提供用户名与密码输入框。

关于该应用登录与鉴权逻辑,公开资料显示,安全社区曾发布过针对 OneNav 的源码审计文章(见参考资料),其中分析了其配置文件与登录凭证的组织方式:管理员的身份凭证信息集中保存在配置文件中,登录成功后会颁发用于后续 API 调用的凭证,攻击者在掌握管理员身份后即可调用后台接口完成各类管理操作。这说明默认口令并非仅是一个「能登进去」的问题——一旦攻击者以管理员身份进入后台,便可以借助后台的接口能力对站点数据进行读写和控制。

在口令传输方面,本次分析所依据的技术分析记录显示,OneNav 的登录请求将密码参数以 MD5 摘要形式提交,即前端先对用户输入的口令计算 MD5,再作为 pass 参数发送给服务端。字符串 admin 的 MD5 值为 21232f297a57a5a743894a0e4a801fc3,因此使用默认口令登录时,请求体中的口令字段即为该固定值。这一特征也使得默认口令登录请求在网络流量中具有高度可识别的固定形态,可用于流量侧检测。

0x03 利用链与请求包

本漏洞的利用链非常短:确认目标为 OneNav 实例后,直接向登录接口提交默认口令即可完成利用,无需任何前置漏洞配合,也无需携带任何会话凭证,登录请求本身即为完整的利用请求。

以部署在 192.0.2.10 的示意目标为例,检测与利用使用完全相同的单一请求,请求包如下:

POST /index.php?c=login&u=admin HTTP/1.1
Host: 192.0.2.10
Content-Type: application/x-www-form-urlencoded; charset=UTF-8

user=admin&pass=21232f297a57a5a743894a0e4a801fc3

请求参数说明:

  • user=admin:登录用户名,使用默认管理账号 admin;
  • pass=21232f297a57a5a743894a0e4a801fc3:口令字段的 MD5 摘要值,对应明文默认口令 admin,即默认口令组合 admin/admin。

成功判据(依据技术分析记录):

1. HTTP 响应状态码为 200;

2. 响应体中包含 successful 字样,表示服务端接受了本次登录;

3. 响应头中出现 admin_key 字段(推断为登录成功后下发的管理凭证,例如以 Cookie 形式返回),该字段可作为登录成功的重要佐证。

三项条件同时满足时,即可判定目标仍在使用默认口令,攻击者可携带响应中下发的凭证访问后台功能页与相关管理接口,以管理员身份操作书签管理与后台设置等核心功能。需要说明的是,以上判据与请求形态均来自技术分析记录,不同版本的响应细节可能存在差异,具体表现以实际环境为准,本文不对未经验证的响应内容作实录性描述。

0x04 检测与修复建议

检测层面:

1. 核查已部署的 OneNav 实例,确认管理后台是否仍可使用 admin/admin 默认口令登录;

2. 在流量或日志侧关注针对 /index.php?c=login 的 POST 请求,请求体中出现固定值 21232f297a57a5a743894a0e4a801fc3(即 admin 的 MD5)时,高度疑似默认口令尝试;

3. 审计后台操作日志与 API 调用记录,排查来自陌生来源的管理员会话。

修复建议:

1. 立即修改默认管理员密码,新密码应包含大小写字母、数字和特殊字符,长度建议不小于 12 位;

2. 禁止将管理界面暴露到公网,通过防火墙设置访问策略与白名单,限制管理入口的访问来源;

3. 谨慎启用自定义工具等高权限功能,限制可执行代码的权限,避免后台失陷后被进一步利用;

4. 启用操作日志审计,记录所有管理操作和 API 调用,便于事后追溯;

5. 定期检查用户账户和 API 密钥的使用情况,发现异常及时轮换凭证。

0x05 参考资料

1. OneNav 开源项目仓库:https://github.com/helloxz/onenav

2. OneNav 漏洞详情收录页:https://nosec.org/home/detail/6148.html

3. 《ONENAV小白级代审》,FreeBuf,2022-04:https://www.freebuf.com/articles/web/328236.html

4. OneNav 部署与使用教程,CSDN:https://blog.csdn.net/jks212454/article/details/128456147

最新评论

昵称
邮箱
提交评论