圣剑安全网
新闻 业内 站内 漏洞 病毒 科技 骗术 励志 军事文章 电脑 网络 入门 检测 攻防 编程 人物 提权 ┊ 网站导航
软件 安全 扫描 加密 检测 远控  Q Q 嗅探 综合动画  Q Q 程序 检测 破解 脚本 其他 漏洞 原创 ┊ 圣剑之家
源码 ASP  PHP  JSP  .NET 模板 V B  V C  JAVA书籍 编程 系统 网管 图像 网页 数据 杂志 其他 ┊ 圣剑论坛
学院 网络 软件 破解 检测 安全 设计 编程 攻防会员 高级资源下载 会员活动 会员特权 会员论坛     ┊ 圣剑商城
·圣剑内网通 打造2011内网上线神话! ·加入本站VIP 好礼送不断! 关键词: 关键词:黑客┊抓鸡
文章中心首页 | 业内新闻 | 站内事件 | 漏洞公告 | 病毒公告 | 科技新闻 | 骗术 | 励志 | 军事
 您现在的位置: 圣剑安全网 >> 新闻资讯 >> 漏洞公告 >> 新闻信息

Discuz! 6.x/7.x 全局变量防御绕过漏洞

作者:佚名 新闻来源:本站整理 更新时间:2010-6-7 4:43:02
影响版本:
Discuz! 6.x/7.x 
漏洞描述:
由于php5.3.x版本里php.ini的设置里request_order默认值为GP,导致Discuz! 
6.x/7.x 全局变量防御绕过漏洞 

include/global.func.php代码里: 

function daddslashes(string, force = 0) { 
 !defined(’MAGIC_QUOTES_GPC’) && define(’MAGIC_QUOTES_GPC’, 
get_magic_quotes_gpc()); 
 if(!MAGIC_QUOTES_GPC || force) { 
  if(is_array(string)) { 
   foreach(string as key => val) { 
    string[key] = daddslashes(val, force); 
   } 
  } else { 
   string = addslashes(string); 
  } 
 } 
 return string; 
} 


include/common.inc.php里: 

foreach(array(’_COOKIE’, ’_POST’, ’_GET’) as _request) { 
 foreach(_request as _key => _value) { 
  _key{0} != ’_’ && _key = daddslashes(_value); 
 } 
} 


模拟register_globals功能的代码,在GPC为off时会调用addslashes()函数处理变量值,
但是如果直接使用_GET/_POST/_COOKIE这样的变量,这个就不起作用了,然而dz的源码里直接使用
_GET/_POST/_COOKIE的地方很少,存在漏洞的地方更加少:( 

不过还有其他的绕过方法,在register_globals=on下通过提交GLOBALS变量就可以绕过上面的代码了
.为了防止这种情况,dz中有如下代码: 

if (isset(_REQUEST[’GLOBALS’]) OR isset(_FILES[’GLOBALS’])) { 
 exit(’Request tainting attempted.’); 
} 

这样就没法提交GLOBALS变量了么? 

_REQUEST这个超全局变量的值受php.ini中request_order的影响,在最新的php5.3.x系列中,
request_order默认值为GP,也就是说默认配置下_REQUEST只包含_GET和_POST,而不包括_COOKIE,
那么我们就可以通过COOKIE来提交GLOBALS变量了:)(圣剑安全网)
 
  • 上一个新闻:遭微软官司 东莞网吧建议放开有盘系统限制
  • 下一个新闻:ShopEx网上商店系统/shopadmin/index.php 本地文件读取漏洞
  • 】【关闭窗口
    最新新闻
    热门新闻
    推荐新闻
    关于我们 | 联系我们 | 广告合作 | 免责声明 | 网站地图 | 欢迎投稿
    中华人民共和国信息产业部网站备案编号:苏ICP备06029591号
    Copyright 圣剑网络 2006-2010 版权所有 All Rights Reserved
    本站内容来自于互联网,仅供用于网络安全技术学习,学习中请遵循相关法律法规.