現在Spring bootを使って開発をしており
その中でSpring Securityも使用しています。
Spring Securityで脆弱性の対応をしたいと考えており
csrf対策の設定をいれて自動でtokenを埋め込まれるようになりました。
~~しかし、その設定をいれると_csrfという名前でhiddenで埋め込まれるのですが
XSSが出来てしまいます。 ~~ ~~どうにかth:utextではなくth:textで埋め込んでくれる方法は無いのでしょうか。~~ 記載内容に誤りがあり修正させていただきます。申し訳ございません。 正しくは、フォーム内の_csrfの項目にalertなどを埋め込んでsubmitしても 403になりエラー画面を表示する仕組みを通りXSSは発生しません。 ただ、restClientなどで_csrfの項目にalertをいれるとresponseがjsonになり 画面で表示するとscriptが発火してしまいます。 色々調べては見たもののみつからず悩んでいる状況です。 ご教授お願い致します。 --- ・サンプル ```json { "timestamp":1111111111111, "status":403, "error":"Forbidden", "message":"Invalid CSRF Token '<script>var a = 123;alert(a)</script>' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.", "path":"/hoge/"} ``` --- ・環境 spring boot 1.5.8.RELEASE spring 4.3.12.RELEASE java 1.8 spring security 4.2.3.RELEASE thymeleaf 2.1.5.RELEASE tomcat 8.5.23
あなたの回答
tips
プレビュー