好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

看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://HdhCmsTestgoogle.cn/complete/search?hl=zh-CN&q='+$("#q").val()), {             onSelect: function() {              alert(this.value);          }         });    }); 

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

查看更多关于某开源php软件的一个安全漏洞所想 - 网站安全的详细内容...

  阅读:37次