質問: oauthの redirect url にhtmlエスケープされたstateが渡される line worksのサービスapiを利用するためoauth認証を検証しています。 https://developers.worksmobile.com/jp/document/1002002?lang=ja#-api-authorization-code- api認証の準備 - はじめに -line works developers dhttps://developers.worksmobile.com/jp/document/1002002?lang=ja https://auth.worksmobile.com/ba/{api id}/service/authorize へのパラメータとして「state=%7b%22projectid%22%3a%221%22%2c%22development%22%3afalse%7d」を渡しています urlエンコード前の値は「{"projectid":"1","development":false} 」というjsonになっています。 しかし、redirect url に戻ってきたst
回答: 了解しました。よろしくおねがいします。 わたしとしてはjsonをbase64エンコードすれば動作するため問題ありません。 しかし、もしかすると本件は脆弱性の原因になる可能性がありそうに感じたため、それらを考慮した対応を検討したほうがよいかもしれません。 まずstateのパラメーターはcsrfチェックに使われるとこのとですが、stateに指定外の値が渡されるということは、csrfチェックが動作しない可能性があるのではないでしょうか。 次にhtmlエスケープされるということは、urlに想定外の&が入ります。そのため、任意のurlパラメーターを書き換えられる可能性、例えば想定外のauthorization codeを読み込んでしまう可能性はないでしょうか。 こちらに書き込む内容として不適切であれば削除していただいて構いません。