私はリッチ テキスト エディター (CKEditor) を使用して、ユーザーが HTML/CSS をレンダリングする書式設定されたテキストを入力できるようにしています。
信頼できないユーザーによるXSS攻撃を防ぐために、 Jsoup Java ライブラリを使用しています。これは、たとえば、次のようなアンカー タグのようなユーザー入力の必要なタグや属性をフィルター処理/ホワイトリスト化します。
<a href='http://example.com/' onclick='executeMaliciousTask();'>Click Here</a>
に変わります
<a href="http://example.com/" rel="nofollow">Click Here</a>
Jsoup によって生成されたリンクは、XSS 攻撃に対して安全なようです。
ユーザーがエディターを介して画像を入力できるようにする必要があります。これがそうであるように、私はJsoupの次の方法を使用しています。
org.jsoup.Jsoup.clean(editorContents, org.jsoup.safety.Whitelist.basicWithImages();
ユーザーがこの方法で画像を投稿できるようにすると、何らかの方法で XSS 攻撃に対して脆弱になる可能性がありますか?