ecshop_v2.7.2_flow.php_SQL注入漏洞(利用工具)



ecshop_2.7.2及以前的版本存在SQL注入漏洞,成功利用该漏洞的攻击者可以读取后台管理员的密码哈希和系统上的任意文件。并可上传Webshell。

flow.php 文件对用户的输入缺乏严格的过滤,导致注入漏洞的产生。
漏洞利用前提:magic_quotes_gpc = off


flow. php页面的goods_number变量没有过滤导致字符型型注入,本漏洞利用前提是magic_quotes_gpc=off,关键代码如下:


elseif ($_REQUEST['step'] == 'update_cart')
{
   if (isset($_POST['goods_number']) && is_array($_POST['goods_number']))
   {
   flow_update_cart($_POST['goods_number']);
   }
   show_message($_LANG['update_cart_notice'], $_LANG['back_to_cart'], 'flow.php');
   exit;
}
...................................
function flow_update_cart($arr)
{
   /* 处理 */
   foreach ($arr AS $key => $val)
   {
   $val = intval(make_semiangle($val));
   if ($val <= 0)
   {
   continue;
   }
   //查询:
   $sql = "Select `goods_id`, `goods_attr_id`, `product_id`, `extension_code` FROM" .$GLOBALS['ecs']->table('cart').
   " Where rec_id='$key' AND session_id='" . SESS_ID . "'";
   $goods = $GLOBALS['db']->getRow($sql);
很明显当"step=update_cart"时,goods_numberm没有过滤导致字符型注入漏洞,所以构造如下参数,即可获取管理员密码的哈希




点击这里下载

[本日志由 admin 于 2013-12-18 07:25 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 0day
评论: 0 | 引用: 0 | 查看次数: 1550
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码: 验证码
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭