![图片[1]-青龙面板command-run接口存在鉴权绕过:可获取面板账户密码、执行任意命令-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2026/02/d2b5ca33bd20260227184142.png)
漏洞描述
攻击者可在绕过身份鉴权的情况下,通过特定接口执行任意系统命令,进而获取管理员账号密码等敏感信息,对系统安全构成严重威胁。
漏洞原理
该漏洞源于青龙面板的身份验证机制存在缺陷,具体体现在以下代码逻辑中:
// back/loaders/express.ts
path: [...config.apiWhiteList, /^\/(?!api\/).*/]
上述正则表达式的配置存在问题。系统对api白名单的处理采用了严格的全小写匹配机制,当请求路径不以/api/开头时,会直接绕过JWT(JSON Web Token)校验。
进一步分析发现,自定义鉴权中间件使用了如下判断逻辑:
if (!['/open/', '/api/'].some((x) => req.path.startsWith(x))) {
return next();
}
该逻辑同样采用严格的纯小写路径前缀匹配,在实际应用中存在安全隐患。
Express框架默认采用大小写不敏感的路由匹配机制。意味着/API/这样的路径既能绕过令牌校验,又能成功匹配到/api/路由,从而完全绕过所有身份验证机制。
最终,通过app.use(config.api.prefix, routes())的配置,攻击者可以随意调用后端API接口。
资产测绘
quake:
port:"5700" AND favicon: "6f7911cfc55bcdc925420225b931ee60"
漏洞poc
© 版权声明
渗透云记的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
渗透云记拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。详情见本站的“免责声明”如果有侵权之处请第一时间联系我们删除。敬请谅解!E-mail:admin@encenc.com
THE END















请登录后查看评论内容