winmail过滤不严getshell+任意文件下载(需要登录邮箱)

漏洞标题 winmail过滤不严getshell+任意文件下载(需要登录邮箱) 相关厂商 magicwinmail.com 漏洞作者 路人甲 提交时间 2016-03-25 22:50 公开时间 20…

漏洞标题 Winmail过滤不严格getshell +任意文件下载(需要登录电子邮件) 相关制造商 Magicwinmail.com 漏洞作者 过路人 提交时间 2016-03-25 22: 50 公共时间 2016-06-27 10: 40 漏洞类型 文件上载会导致任意代码执行 危险等级 高 自我评估等级 20 漏洞状态 已提交给第三方合作机构(cncert National Internet Emergency Center) 标签标签 Winmail邮件 漏洞详细信息 Winmail邮箱管理系统未经过筛选,导致任意文件上传 您需要以普通用户身份登录邮箱。登录后,您具有网络磁盘功能。随意上传文件并选择要上传的文件! 上传网址 http://xxx.xxx.xxx.xxx: 6080/main.php?sessid=5772430e1cd708d2521d9a0dedadd904& act=netdisk& opt=html5upload& ftpfolder=Ly4uLy4uL3dlYm1haWwvd3d3Lw==& retid=0.8386508285207916

burpsuit拦截并看到有一个ftpfolder参数。通过将ftpfolder参数修改为/././webmail/www/然后修改base64编码,将base64编码解码为/。 /相应的原始目录是server/netstore/test(用户目录)。

让我们成功了! 在同一个下载文件中,修改filename参数跳转到data/adminuser.cfg下载管理员用户密码,密码md5加密! /main.php?sessid=6ca89212aceb7b4b6997d3b1b4b9eaf0&act=netdisk&opt=download&ftpfolder=Lw%3D%3D&filename=cGhwaW5mby5waHA%3D&retid=33938934

相应的代码! 案例'下载': $ filename=base64_decode($ filename); $ ftpfile=$ ftpfolder; if(substr($ ftpfile,-1)!='/') $ ftpfile。='/'; $ ftpfile。=$ filename; 标题('内容类型:应用程序/strong制下载'); 标题('Content-Disposition: attachment; filename=''。$ filename。'''); $ localfile=$ ftphandle-> ftp_home_directory。$ ftpfile; //如果(file_exists($ LOCALFILE)) //模具($ LOCALFILE); if(file_exists($ localfile)){ $ length=filesize($ localfile); 标题('Accept-Ranges: bytes'); 标题('Content-Length:'。$ length); $ fp=fopen($ localfile,'rb'); 如果($ fp){ 虽然(!FEOF($ FP)) 回声恐惧($ fp,655360); FCLOSE($ FP); } } 它们几乎没有发布! 漏洞证明: 有很多客户,所以我会找到一个邮箱进入,或者在前台拿到外壳来证明它! 修理计划: 过滤用户输入的参数! 版权声明:请注明出处。居民A @乌云