简介
WebsiteGuide网址导航系统主要用于企业记录和管理内部系统地址,具有网址增删改查、icon图标替换等功能,后续考虑增加rbac和其他功能。
漏洞描述
/websiteapp/views.py->IconViewSet.post 方法中的变量“save_path”,不检查用户上传的文件名,导致“../../”这样的路径可用,并且不检查图像二进制文件的合法性,导致用户可以跨目录上传图像、py代码、html 等内容,不安全的图像上传可能会覆盖原始代码,导致远程命令执行。
影响版本
WebsiteGuide ≤ v0.2
漏洞复现
1.访问后台页面“/admin”,将自动跳转至“/login”,根据官方介绍,初始密码为“admin/admin@1234”
2.首先,在“分组管理”中添加一个网站(添加一个测试数据,不影响真实数据)
3.点击导航栏“网址管理”,点击“替换图标” ,点击“上传图标”,选择payload(或者正常情况下要上传的图片), 最后点击“确定”上传
4.上传payload后,观察到刚才在burpsuite中上传的HTTP请求,将其发送到repeater将文件名“..1..1views.py”替换为“../../views.py”
payload地址:
https://github.com/Leeyangee/leeya_bug/blob/main/..1..1views.py
5.最后,修改发送,原来的代码 /websiteapp/views.py 已经变成了修改后的py代码,这样可能会导致RCE漏洞
原本的代码
修改上传后的代码
访问网站页面触发api /api/icon,就可以在/websiteapp/路径下找到从“http://www.bing.com”下载的“index.html”
已证明存在RCE,通过上述方法,可以将任意文件上传到网站的任意目录。
参考链接
https://nvd.nist.gov/vuln/detail/CVE-2023-37656
https://github.com/mizhexiaoxiao/WebsiteGuide/tree/main
https://github.com/mizhexiaoxiao/WebsiteGuide/issues/12
仅供学习交流,勿用作违法犯罪!!!
原文始发于微信公众号(星河疯客admin):CVE-2023-37656:WebsiteGuide远程命令执行
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论