4章は長いので節ごとにわけて書かないと破綻しそう。
- 脆弱性の大分類
- 出力時(インジェクション系)
- 処理時(認証認可、 CSRF、ディレクトリトラバーサル)
- インジェクション系の脆弱性は共通の原理に基づく
- SQL インジェクション脆弱性が発生する原因は、データを想定しているところにシングルクォートがきてデータ部分が終了され、 SQL の構造が変化する、という仕組み
- データの中に引用符、デリミタなどの「データの終端」をあらわす文字を混入させて、その後の文字列の構造を変化させる
- 本来想定していた処理が意図しないデータ終端のせいで終了され、想定外の処理を注入されるのがインジェクション系脆弱性の原理
- キーとなるのはデータの終端、「このデータの終端は何か?」をおさえるのが脆弱性対策を身につけるツボなのか?