isc5ちょっと検索で調べてたら、匿名ダイアリーに関連記事が出ていたのでメモ代わりに残しておきます。構を使用し,又はSQL文を構成する全ての変数に対してエスケープ処理を行うべき義務があったにもかかわらず,これらの対策を行わなかった。プログラムの一か所にでもプログラム作成者の予想しないSQL文が実行される状態にあれば,第三者がクレジットカード情報等の個人情報を窃取することが可能であるため,SQL文を構成する部分の一か所にでもバインド機構の使用又はエスケープ処理によるSQLインジェクション対策がされていなければ,本件ウェブアプリケーションには脆弱性があり,被告の債務不履行を構成するというべきである。情報処理推進機構(IPA)-PDFファイル理論的には、SQL文を構成する全ての変数に対してエスケープ処理を行うだけなんですね。新規に作る部分、追加する部分については、初めからこの部分を意識していれば対策は理論上は出来る。ソースを机上でチェックすることも可能である。既存のフレームワークや既存のCMSとかある場合は、その部分のチェックをするのは事実上?コスト上?無理な気はしなくはないが・・・。クレジット決済処理について今回の件とは関係ないが、セキュリティーコードをローカルに保存しても問題ないかを調べたときに出てきた事例のリンクも貼っておく・クレジットカード情報流出事件があったようなので、決済システム周りについて語ってみます。WooRis(ウーリス)WooRis(ウーリス)・【速報】イモトのWiFi・グローバルデータが11万件クレジットカード流出。今調べてみると、ダメだという根拠が見つけることができないんですね。www.jcca-office.gr.jp/dealer/pdf/2013_guideline.pdf例えば、日本クレジットカード協会のガイドライン?には、上記のように書いてあって、絶対にダメとは書いてないんですね。必然性がないのに保存するのはダメと書いてあるし、また実際、必要ないのに将来の為とか思って保存するのはリスク以外の何物でもないのは明白。セキュリティコードは、保存しないためには?正しいやり方として、申し込み時に与信(オーソリ)だけやって利用後に売上処理をやる、あるいは決済代行会社のカード番号あずかりサービスを利用する、といった方法があるようです。後から売上確定ってシステムは少し携わったことあるけど、あれって確定/キャンセルくらいしかできないかと思ってました。申し込み時には金額が確定しなくても、上記のように処理すればセキュリティーコードを保存する必要はないということです。決済サービスに丸投げすべきなのでは?開発者側の立場でリスク回避するのならそうなると思うけど、お客さんにとっては、単にリスクの場所が移動するだけだという話はある。総合決済情報サービス判決でも、上記ににた観点で評価しているみたいで・・・・。SQLインジェクション対策もれの責任を開発会社に問う判決あまり話題になってないね。Winny裁判に匹敵するぐらい、結構衝撃的だと思うんだけど...。SQLインジェクションで開発業者に有罪判決が出た件この手の話は、総合的な判断で妥当かどうか見ないとダメだと思うんですね。原告は,平成21年2月4日,被告に対し,注文書を交付して,原告のウェブサイト「×××オンラインショップ」(以下「本件ウェブサイト」という。)における商品のウェブ受注システム(以下「本件システム」という。以下では,特に断らない限り,消費税込みの金額を意味する。下「本件システム発注契約」という。