-----------------------------------------
脆弱性の種類
------------------------------------------
クロスサイトスクリプティング
-----------------------------------------
脆弱性のあるファイル
-----------------------------------------
html/input_zip.php
-----------------------------------------
対策
-----------------------------------------
57行目
if(count($data_list) > 0) {
$func = "fnPutAddress('" . $_GET['input1'] . "','" . $_GET['input2']. "');";
↓
if(count($data_list) > 0) {
lfCheckInput();
$func = "fnPutAddress('" . $_GET['input1'] . "','" . $_GET['input2']. "');";
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
72行目 
$objErr = new SC_CheckError();
↓
$objErr = new SC_CheckError($_GET);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
75-77行目
$objErr->doFunc( array("郵便番号1",'zip1',ZIP01_LEN ) ,array( "NUM_COUNT_CHECK" ) );
$objErr->doFunc( array("郵便番号2",'zip2',ZIP02_LEN ) ,array( "NUM_COUNT_CHECK" ) );
↓
$objErr->doFunc( array("郵便番号1",'zip1',ZIP01_LEN ) ,array( "NUM_CHECK", "NUM_COUNT_CHECK" ) );
$objErr->doFunc( array("郵便番号2",'zip2',ZIP02_LEN ) ,array( "NUM_CHECK", "NUM_COUNT_CHECK" ) );
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
下記の関数を追加
function lfCheckInput(){
    $pattern = "/^[0-9a-z_]+$/";
    foreach (array('input1', 'input2') as $key_name) {
        $ret = preg_match_all($pattern, $_GET[$key_name], $matches);
        if (!$ret) {
            $msg = sprintf('invalid param: $_GET[%s]="%s"', $key_name, $_GET[$key_name]);
            gfPrintLog($msg);
            sfDispSiteError('');
        }
    }
}
リビジョン16816で修正
参照URL:http://svn.ec-cube.net/open_trac/changeset/16816