-----------------------------------------
脆弱性の種類
------------------------------------------
クロスサイトスクリプティング
-----------------------------------------
脆弱性のあるファイル
-----------------------------------------
data/class/pages/LC_Page_InputZip.php
-----------------------------------------
脆弱性があるバージョン
-----------------------------------------
2.3.1より以前のバージョン
-----------------------------------------
対策
-----------------------------------------
59行目
変更前
$arrErr = $this->fnErrorCheck();
↓
変更後
$arrErr = $this->fnErrorCheck($_GET);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fnErrorCheckを下記のように修正
function fnErrorCheck($array) {
// エラーメッセージ配列の初期化
$objErr = new SC_CheckError($array);
// 郵便番号
$objErr->doFunc( array("郵便番号1",'zip1',ZIP01_LEN ) ,array( "NUM_COUNT_CHECK" ) );
$objErr->doFunc( array("郵便番号2",'zip2',ZIP02_LEN ) ,array( "NUM_COUNT_CHECK" ) );
// 親ウィンドウの戻り値を格納するinputタグのnameのエラーチェック
if (!$this->lfInputNameCheck($array['input1'])) {
$objErr->arrErr['input1'] = "※ 入力形式が不正です。<br />";
}
if (!$this->lfInputNameCheck($array['input2'])) {
$objErr->arrErr['input2'] = "※ 入力形式が不正です。<br />";
}
return $objErr->arrErr;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下記の関数をLC_Page_InputZipクラス内に追加する。
function lfInputNameCheck($value) {
// 半角英数字と_(アンダーバー)以外の文字を使用していたらエラー
if(strlen($value) > 0 && !ereg("^[a-zA-Z0-9_]+$", $value)) {
return false;
}
return true;
}