网站地图    收藏   

主页 > 后端 > 网站安全 >

某开源php软件的一个安全漏洞所想 - 网站安全

来源:自学PHP网    时间:2015-04-17 12:00 作者: 阅读:

[导读] 看public_get_suggest_keyword 这个函数:/phpcms/modules/search/index.php中[php]public function public_get_suggest_keyword() { $url = $_GET[#39;url#39;].#39;q=#39;.$_GET[#39;q#39;]; $......


看public_get_suggest_keyword 这个函数:
/phpcms/modules/search/index.php中
[php] 
public function public_get_suggest_keyword() { 
    $url = $_GET['url'].'&q='.$_GET['q'];   
     
    $res = @file_get_contents($url); 
    if(CHARSET != 'gbk') { 
        $res = iconv('gbk', CHARSET, $res); 
    } 
    echo $res; 

[php] 
$url = $_GET['url'].'&q='.$_GET['q']; 
url没有任何白名单,没有任何过滤就杀进代码中
[php] 
$res = @file_get_contents($url); 
又一个这个函数,如果弄一个大文件,那么直接可以把服务器搞垮
搜索了一圈,只有在一个JS中用到这个代码:
[javascript] 
   $(document).ready(function() { 
       $("#q").suggest("?m=search&c=index&a=public_get_suggest_keyword&url="+encodeURIComponent('http://www.google.cn/complete/search?hl=zh-CN&q='+$("#q").val()), { 
           onSelect: function() { 
            alert(this.value); 
        } 
       }); 
 
}); 


警示:
1. 传递进来的参数一定要进行安全过滤
2. 如果进行url,路径操作,一定要进行路径过滤
3. 对外少用@file_get_contents 怎么死都不知道
4. 上面那种情况一定要做域名白名单

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

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

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

添加评论