人はミスをする
• どのORM/DBライブラリでも両方を用意している• パラメータ化される変数
• パラメータ化されず展開される変数
• MyBatis3の場合• #{absolutelySafeValue} ──── パラメータ化
• ${absolutelySafeValue} ──── 直接展開
• どっちがどっちかわかるかぼけー!(ノ`Д´)ノ彡┻━┻
「うっかり」から人類を守る4文字
• 以下の4文字をテストデータの末尾に入れるだけ!かんたん!
'"¥;Special thanks to securitytesting slack #sqli members.
テストデータにこの4文字を入れる事で
• 基本的に例外でこけます。
• 例外に落ちなくても結果が変わってテストがこけます。
• 手間はほとんど掛かりません。 ← 重要どうせテストデータなんてコピペでしょ?
• 考えることが減りストレスも減って健康になります。
セキュリティテストCI
• サービスの力を借りる• VAddy
http://vaddy.net/ja/
• Waltihttps://walti.io/
• 自前できちんとセキュリティテスト• Selenium等のエンドツーエンドテスト書いていれば、
OWASP ZAP等のProxyを挟んで脆弱性診断
• Selenium と OWASP ZAP を使った自動脆弱性検査への道http://www.pupha.net/archives/2467/
※今自分のところでできているとは言っていない