ECSHOP php商城系統(tǒng)過濾不嚴(yán)導(dǎo)致SQL注入漏洞
發(fā)布時(shí)間:2011-10-10 00:03:17 作者:佚名
我要評(píng)論

ECSHOP是一款開源免費(fèi)的網(wǎng)上商店系統(tǒng)。由專業(yè)的開發(fā)團(tuán)隊(duì)升級(jí)維護(hù),為您提供及時(shí)高效的技術(shù)支持,您還可以根據(jù)自己的商務(wù)特征對(duì)ECSHOP進(jìn)行定制,增加自己商城的特色功能
影響版本:
ECSHOP 2.7.2 Release 0604
程序介紹:
ECSHOP是一款開源免費(fèi)的網(wǎng)上商店系統(tǒng)。由專業(yè)的開發(fā)團(tuán)隊(duì)升級(jí)維護(hù),為您提供及時(shí)高效的技術(shù)支持,您還可以根據(jù)自己的商務(wù)特征對(duì)ECSHOP進(jìn)行定制,增加自己商城的特色功能。
漏洞分析:
在include_libcommon.php中存在如下函數(shù)
其中$id沒有經(jīng)過嚴(yán)格過濾就直接進(jìn)入了SQL查詢,導(dǎo)致一個(gè)SQL注射漏洞。
在系統(tǒng)的lib_order.php中存在一個(gè)該函數(shù)的調(diào)用
在flow.php中存在可控的輸入源
$package->package_id來源于輸入
解決方案:
廠商補(bǔ)丁
ECSHOP
----------
目前廠商還沒有提供補(bǔ)丁或者升級(jí)程序,我們建議使用此軟件的用戶隨時(shí)關(guān)注廠商的主頁以獲取最新版本:
http://www.ecshop.com
信息來源:
來源: WooYun
ECSHOP 2.7.2 Release 0604
程序介紹:
ECSHOP是一款開源免費(fèi)的網(wǎng)上商店系統(tǒng)。由專業(yè)的開發(fā)團(tuán)隊(duì)升級(jí)維護(hù),為您提供及時(shí)高效的技術(shù)支持,您還可以根據(jù)自己的商務(wù)特征對(duì)ECSHOP進(jìn)行定制,增加自己商城的特色功能。
漏洞分析:
在include_libcommon.php中存在如下函數(shù)
PHP Code復(fù)制內(nèi)容到剪貼板
- function get_package_info($id)
- {
- global $ecs, $db,$_CFG;
- $now = gmtime();
- $sql = "SELECT act_id AS id, act_name AS package_name, goods_id , goods_name, start_time, end_time, act_desc, ext_info".
- " FROM " . $GLOBALS['ecs']->table('goods_activity') .
- " WHERE act_id='$id' AND act_type = " . GAT_PACKAGE;
- $package = $db->GetRow($sql);
- /* 將時(shí)間轉(zhuǎn)成可閱讀格式 */
- if ($package['start_time'] <= $now && $package['end_time'] >= $now)
- {
- $package['is_on_sale'] = "1";
- }
- else
- {
- $package['is_on_sale'] = "0";
- }
- $package['start_time'] = local_date('Y-m-d H:i', $package['start_time']);
- $package['end_time'] = local_date('Y-m-d H:i', $package['end_time']);
- $row = unserialize($package['ext_info']);
- unset($package['ext_info']);
- if ($row)
- {
- foreach ($row as $key=>$val)
- {
- $package[$key] = $val;
- }
- }
- $sql = "SELECT pg.package_id, pg.goods_id, pg.goods_number, pg.admin_id, ".
- " g.goods_sn, g.goods_name, g.market_price, g.goods_thumb, g.is_real, ".
- " IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS rank_price " .
- " FROM " . $GLOBALS['ecs']->table('package_goods') . " AS pg ".
- " LEFT JOIN ". $GLOBALS['ecs']->table('goods') . " AS g ".
- " ON g.goods_id = pg.goods_id ".
- " LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ".
- "ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' ".
- " WHERE pg.package_id = " . $id. " ".
- " ORDER BY pg.package_id, pg.goods_id";
- $goods_res = $GLOBALS['db']->getAll($sql);
- $market_price = 0;
其中$id沒有經(jīng)過嚴(yán)格過濾就直接進(jìn)入了SQL查詢,導(dǎo)致一個(gè)SQL注射漏洞。
在系統(tǒng)的lib_order.php中存在一個(gè)該函數(shù)的調(diào)用
PHP Code復(fù)制內(nèi)容到剪貼板
- function add_package_to_cart($package_id, $num = 1)
- {
- $GLOBALS['err']->clean();
- /* 取得禮包信息 */
- $package = get_package_info($package_id);
- if (emptyempty($package))
- {
- $GLOBALS['err']->add($GLOBALS['_LANG']['goods_not_exists'], ERR_NOT_EXISTS);
- return false;
- }
PHP Code復(fù)制內(nèi)容到剪貼板
- $package = $json->decode($_POST['package_info']);
- /* 如果是一步購物,先清空購物車 */
- if ($_CFG['one_step_buy'] == '1')
- {
- clear_cart();
- }
- /* 商品數(shù)量是否合法 */
- if (!is_numeric($package->number) || intval($package->number) <= 0)
- {
- $result['error'] = 1;
- $result['message'] = $_LANG['invalid_number'];
- }
- else
- {
- /* 添加到購物車 */
- if (add_package_to_cart($package->package_id, $package->number))
- {
- if ($_CFG['cart_confirm'] > 2)
$package->package_id來源于輸入
解決方案:
廠商補(bǔ)丁
ECSHOP
----------
目前廠商還沒有提供補(bǔ)丁或者升級(jí)程序,我們建議使用此軟件的用戶隨時(shí)關(guān)注廠商的主頁以獲取最新版本:
http://www.ecshop.com
信息來源:
來源: WooYun
相關(guān)文章
thinkphp代碼執(zhí)行g(shù)etshell的漏洞解決
本文來介紹一下thinkphp官方修復(fù)的一個(gè)getshell漏洞,框架對(duì)控制器沒有進(jìn)行足夠的檢測(cè)導(dǎo)致的一處getshell,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨2018-12-12記 FineUI 官方論壇discuz所遭受的一次真實(shí)網(wǎng)絡(luò)攻擊
這篇文章主要介紹了記 FineUI 官方論壇discuz所遭受的一次真實(shí)網(wǎng)絡(luò)攻擊,需要的朋友可以參考下2018-11-30- 這篇文章主要介紹了Linux 下多種反彈 shell 方法,需要的朋友可以參考下2017-09-06
- 這篇文章主要為大家介紹了基于反射的XSS攻擊,主要依靠站點(diǎn)服務(wù)端返回腳本,在客戶端觸發(fā)執(zhí)行從而發(fā)起Web攻擊,需要的朋友可以參考下2017-05-20
- 這篇文章主要介紹了SQL注入黑客防線網(wǎng)站實(shí)例分析,需要的朋友可以參考下2017-05-19
ASP+PHP 標(biāo)準(zhǔn)sql注入語句(完整版)
這里為大家分享一下sql注入的一些語句,很多情況下由于程序員的安全意識(shí)薄弱或基本功不足就容易導(dǎo)致sql注入安全問題,建議大家多看一下網(wǎng)上的安全文章,最好的防范就是先學(xué)2017-05-19- 對(duì)于目前流行的sql注入,程序員在編寫程序時(shí),都普遍的加入防注入程序,有些防注入程序只要在我們提交一些非法的參數(shù)后,就會(huì)自動(dòng)的記錄下你的IP地址,提交的非法參數(shù)和動(dòng)作等,2017-04-29
XSS繞過技術(shù) XSS插入繞過一些方式總結(jié)
我們友情進(jìn)行XSS檢查,偶然跳出個(gè)小彈窗,其中我們總結(jié)了一些平時(shí)可能用到的XSS插入方式,方便我們以后進(jìn)行快速檢查,也提供了一定的思路,其中XSS有反射、存儲(chǔ)、DOM這三類2016-12-27Python 爬蟲使用動(dòng)態(tài)切換ip防止封殺
這篇文章主要介紹了Python 爬蟲使用動(dòng)態(tài)切換ip防止封殺的相關(guān)資料,需要的朋友可以參考下2016-10-08使用爬蟲采集網(wǎng)站時(shí),解決被封IP的幾種方法
這篇文章主要介紹了使用爬蟲采集網(wǎng)站時(shí),解決被封IP的幾種方法的相關(guān)資料,需要的朋友可以參考下2016-10-08