脆弱性が見つかったとかで修正をしました。
テストもかなりしましたので問題ないとは思いますが、
もし何か不具合等ございましたらご連絡ください。
この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;
===================================================================
0 件のコメント:
コメントを投稿