【漏洞研究】[Web安全]Phpcms_V9任意文件上传 -临时解决方案

很简单,在download函数中我们可以看到,`$remotefileurls``数组,中,$k是未经过滤去除#.jps的恶意url,而$file是经过过滤处理的恶意url。并且保存的后缀,将会使用$file参数,也就是.php。由此我们可以写出一个临时的防护方案,将保存的文件后缀,使用未经过滤的url参数。这样,将不会受到过滤函数的影响,
修改 phpcms/libs/classes/attachement.class.php 文件中的download函数

foreach($remotefileurls as $k=>$file)

循环中,大约是167行左右的位置,将

            if(strpos($file, '://') === false || strpos($file, $upload_url) !== false) continue;             $filename = fileext($file);

修改成

            $filename = fileext($k);

我们再使用poc测试一下
如图

图中的两个jpg文件,就是我测试的结果。这样就可以防御住任意文件上传攻击了。

正在写具体分析,所以呢大家等一下吧

666
期待ing

技术交流QQ群: 397745473
来自:https://xianzhi.aliyun.com/forum/read/1490.html?fpage=5

评论

此博客中的热门博文

【黑产分析】互联网业务安全的黑灰产业链的故事

【黑产分析】【转载】技术分享|利用恶意软件检测服务向服务提供商植入恶意软件(一)