热门关键字:   网站安全  黑客攻防  安全漏洞  系统安全  网络安全
站外
广告
域名申请虚拟主机 信息安全 域名注册 云主机 网络安全技术 企业网络安全 站外
广告
文字广告位招租 文字广告位招租 文字广告位招租 文字广告位招租 云安全

ecshop v2.7.2 SQL注入漏洞原理分析及exp

发布时间:2010-05-18 09:53文章来源:未知文章作者:黑白前线 点击次数:
摘要:发布日期:2010-05.18 发布作者:ryat#www.wolvez.org 影响版本:ecshop v2.7.2 官方地址:http://www.ecshop.com/ 漏洞描述:当magic_quotes_gpc=off,存在SQL注入漏洞。 一、综述 magic_quotes_gpc是php中的一个安全选项,在php manual中对此有如下描述: Wh...
  1. 发布日期:2010-05.18  
  2. 发布作者:ryat#www.wolvez.org
  3. 影响版本: ecshop v2.7.2 
  4. 官方地址: http://www.ecshop.com/ 
  5. 漏洞描述:  当magic_quotes_gpc=off,存在SQL注入漏洞。
  6.  

一、综述

magic_quotes_gpc是php中的一个安全选项,在php manual中对此有如下描述:

When on, all ' (single-quote), " (double quote), \ (backslash) and NULL characters are escaped with a backslash automatically. This is identical to what addslashes() does

虽然magic_quotes_gpc有助于提升程序的安全性并且在php中默认开启,但同时也带来了其他的一些问题,因此在php6中将去掉此选项。


二、当magic_quotes_gpc=off

考虑到部分服务器关闭了magic_quotes_gpc或者其他的一些原因[如影响功能等],很多程序在如magic_quotes_gpc=off下自己实现一个代码来模拟magic_quotes_gpc=on的情况. 如下面的一段代码:

 
 

  1. define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());  
  2. ...  
  3. foreach(array('_COOKIE', '_POST', '_GET') as $_request) {  
  4. foreach($$_request as $_key => $_value) {  
  5. $_key{0} != '_' && $$_key = daddslashes($_value);  
  6. }  
  7. }  
  8. ...  
  9. function daddslashes($string, $force = 0) {  
  10. !defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());  
  11. if(!MAGIC_QUOTES_GPC || $force) {  
  12. if(is_array($string)) {  
  13. foreach($string as $key => $val) {  
  14. $string[$key] = daddslashes($val, $force);  
  15. }  
  16. } else {  
  17. $string = addslashes($string);  
  18. }  
  19. }  
  20. return $string;  
  21. }  
  22.  

利用addslashes()函数模拟了magic_quotes_gpc=on时的效果,看上去很完美,其实是有缺陷的或者说只是模拟了magic_quotes_gpc的部分功能.

标签分类: ECShop SQL注入 脚本漏洞 网站0day

上一篇:ecshop v2.7.2鸡肋注入漏洞
下一篇:Tainos Webdesign SQL/XSS/HTML Injection Vulnerability