------------------------------------------
脆弱性の種類
------------------------------------------
SQLインジェクション
-----------------------------------------
脆弱性のあるファイル
-----------------------------------------
html/mypage/delivery_addr.php
-----------------------------------------
対策
-----------------------------------------
変更前
if ($deliv_count < DELIV_ADDR_MAX or isset($_POST['other_deliv_id'])){
lfRegistData($_POST,$arrRegistColumn);
}
↓
変更後
if ($deliv_count < DELIV_ADDR_MAX or isset($_POST['other_deliv_id'])){
// 既存お届け先の編集のとき、不正な other_deliv_id が指定されたらエラー画面へ。
if(strlen($_POST['other_deliv_id']) != 0) {
$deliv_count = $objQuery->count("dtb_other_deliv","customer_id=? and other_deliv_id = ?" ,array($objCustomer->getValue('customer_id'),$_POST['other_deliv_id']));
if($deliv_count != 1) {
sfDispSiteError(CUSTOMER_ERROR);
}
}
lfRegistData($_POST,$arrRegistColumn);
}
--------------------------------------------
2008年11月6日19時30分issetでの条件分岐を訂正。
if(isset($_POST['other_deliv_id']))
↓
if(strlen($_POST['other_deliv_id']) != 0)
============================================
2008年11月10日修正
ファイルパスの記述を修正しました。