furoblog’s blog

妻と一緒にはじめました。1日1更新が目標です。

【AWS】API Gateway不正アクセス時にマッピングテンプレートが返ってしまう

例えばリクエストボディに

 

{ "¥x00": "0"}

 

のようなわざとパースエラーになるような不正な値をリクエストする。

期待値としては400 badreqestなのだが、なぜか

 

Could not parse request body into json

 

となり、更には統合リクエストに登録しているマッピングテンプレートが丸見えになってしまう。

重要な情報を入れていると漏えいになりかねないのでこれは避けたい。

 

回避策はそんなに難しくなく、

 

  • メソッドリクエストのリクエスト本文に空のモデルを指定
  • ゲートウェイのレスポンスにある「リクエスト本文が不正です」のレスポンステンプレートを固定値に修正

 

でOKです。

開発環境などの場合は動的にエラー文字列を返した方がいいと思いますが、本番環境の場合は何が返るかわからないので静的な値にしておいた方がよさそうですね。