当店の
ECサイトで使用していますEC-CUBEに
脆弱性が見つかったとかで修正をしました。
テストもかなりしましたので問題ないとは思いますが、
もし何か不具合等ございましたらご連絡ください。
このEC-CUBEというのはEC構築オープンソース。
平たく言えば公開してあるショッピングサイトのシステムを
ユーザーが自由にいじりまくって使えるもの…
そんな感じでしょうか。
(もちろん実際にはもっと複雑な定義がありますが。(汗
自分で1から構築することを考えれば全然楽なのですが、
それでもやはり高度なプログラムが使われていて大変です。
私はテスト用にひとまずサーバにインストールして
色々とカスタマイズしてみたのですが、
いざ公開しようと思ったときにフォルダを変える元気がなく
結局テスト用のフォルダのままで動かしています。
↓がURLですが、予定では/ec-cube2/の部分が/catsclaw/となるはずでした。(汗
http://www.c-box.org/ec-cube2/
以下私のメモ用に今回の更新を。。。
==================================================================
▼EC-CUBE における管理画面でのクロスサイト・スクリプティング
------------------------------------------------------------------
/data/Smarty/templates/admin/contents/recommend_search.tpl
41行目付近
-------------------------------------------------------------------
変更前
-------------------------------------------------------------------
function func_submit( id ){
var fm = window.opener.document.form<!--{$smarty.get.rank}-->;
fm.product_id.value = id;
fm.mode.value = 'set_item';
fm.rank.value = '<!--{$smarty.get.rank}-->';
fm.submit();
window.close();
return false;
}
-------------------------------------------------------------------
-------------------------------------------------------------------
変更後
-------------------------------------------------------------------
function func_submit( id ){
var fm = window.opener.document.form<!--{$rank|escape}-->;
fm.product_id.value = id;
fm.mode.value = 'set_item';
fm.rank.value = '<!--{$rank|escape}-->';
fm.submit();
window.close();
return false;
}
-------------------------------------------------------------------
/data/class/pages/admin/contents/LC_Page_Admin_Contents_RecommendSearch.php
67行目付近
-------------------------------------------------------------------
変更前
-------------------------------------------------------------------
// 認証可否の判定
SC_Utils_Ex::sfIsSuccess($objSess);
if (!isset($_POST['mode'])) $_POST['mode'] = "";
if ($_POST['mode'] == "search") {
-------------------------------------------------------------------
-------------------------------------------------------------------
変更後
-------------------------------------------------------------------
// 認証可否の判定
SC_Utils_Ex::sfIsSuccess($objSess);
// 数値を代入
$this->rank = intval($_GET['rank']);
if (!isset($_POST['mode'])) $_POST['mode'] = "";
if ($_POST['mode'] == "search") {
==================================================================
==================================================================
▼resize_image.phpによるディレクトリトラバーサル
------------------------------------------------------------------
/data/class/pages/LC_Page_ResizeImage.php
108行目付近
-------------------------------------------------------------------
変更前
-------------------------------------------------------------------
$file = trim($_GET['image']);
if (preg_match_all($pattern, $file, $matches)) {
return false;
-------------------------------------------------------------------
-------------------------------------------------------------------
変更後
-------------------------------------------------------------------
$file = trim($_GET['image']);
if (!preg_match("/^[[:alnum:]_\.-]+$/i", $file)) {
return false;
===================================================================