脆弱性

お支払情報入力ページでのSQLインジェクション

  • 情報公開日:2008年 11月 04日
  • 危険度:中
  • 対象:Ver 2.3.1より以前のバージョン
<pre style="color:#FF0000">2008/11/11 10:00 一部環境で不具合が起こる可能性が
あったので修正しました。</pre><a href="http://www.ec-cube.net/info/081110/index.php">詳細はこちら</a>
-----------------------------------------
脆弱性の種類
------------------------------------------
SQLインジェクション
-----------------------------------------
脆弱性のあるファイル
-----------------------------------------
data/class/pages/shopping/LC_Page_Shopping_Payment.php
-----------------------------------------
脆弱性があるバージョン
-----------------------------------------
2.3.1より以前のバージョン
-----------------------------------------
対策方法
-----------------------------------------


変更前 116,241行目付近
=========================================
$this->arrErr = $this->lfCheckError($this->arrData);
=========================================
変更後
=========================================
$this->arrErr = $this->lfCheckError($this->arrData, $arrInfo, $objCartSess);
=========================================


変更前 366行目付近
=========================================
function lfCheckError($arrData) {
=========================================
変更後
=========================================
function lfCheckError($arrData, $arrInfo, $objCartSess) {
=========================================


変更前 388行目付近
=========================================
}
return $objErr->arrErr;
=========================================
変更後
=========================================
}
<s>$objView = new SC_MobileView();</s>
<s>$objSiteInfo = $objView->objSiteInfo;</s>
<s>$arrInfo = $objSiteInfo->data;</s>
<s>$objCartSess = new SC_CartSession();</s>
<s>$arrInfo = $objSiteInfo->data;</s>
// 購入金額の取得得
$total_pretax = $objCartSess->getAllProductsTotal($arrInfo);
// 支払い方法の取得
$arrPayment = $this->lfGetPayment($total_pretax);
$pay_flag = true;
foreach ($arrPayment as $key => $payment) {
	if ($payment['payment_id'] == $arrRet['payment_id']) {
		$pay_flag = false;
        	break;
        }
}
if ($pay_flag) {       		
	SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
return $objErr->arrErr;

EC-CUBE公式アドバイザー
無料ご相談窓口

  • 他社のASPやパッケージとの違いを知りたい
  • BtoCのサイトにBtoB機能を追加したい
  • 何から手をつければよいかわからない
  • オープンソースならではの注意事項を知りたい
  • 自社にマッチした制作会社を探したい
  • サイト制作だけでなく運営もサポートしてほしい

新規構築・リニューアル・取引先向けのWeb受発注システム(BtoB)や事業の拡大など、
今抱えている課題を解決する最適な業者探しを、アドバイザーがお手伝いします。