私たちのウェブサイトには検索フィールドがあり、セキュリティ研究者は、訪問者が完全なJavaScriptを実行しようとする可能性があるため、これがXSSエクスプロイトに公開されていることを知らせています。彼らは私たちにSimple URLのサンプルを送って、検索ページにJavaScriptアラートボックスを表示させた。URLパラメータはsearch?submitted = true & action = search & siteId = 2.9945 & freeText = 1 ";(/ XSSPOSED /); =」&ソート= publishedDate_descending & slotSearch =真JavaアプリケーションでXSS攻撃をブロックし、ユーザーがWebページ上でJavaScriptを実行できないようにするにはどうすればよいですか?
セキュリティ研究者は、すべてのデータが耳鼻咽喉科の引用符と難読化を使用して悪用を防止するために設定UTF8フラグの両方を持つPHPのにhtmlentitiesと同様の機能を通過する必要があることを助言しました。だから、htmlentitiesに相当するJavaがあるかどうかを調べたところ、Apache Commons LangのStringEscapeUtilsクラスからescapeHtml()とescapeJavaScript()メソッドが見つかりました。https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringEscapeUtils.html escapeHtml()メソッドは<や>などのHTML文字をエスケープしますが、JavaScriptについてはあまりよく分かりません。 escapeJavaScriptメソッドは実際には、JavaScript自体を取り除くのではなく、JavaScript文字列ルールを使用して文字列内の文字をエスケープしているようです。
誰かが、JavaScriptがページに表示されるのを100%停止するソリューションを知っていますか?
は周りを見て持って、文字列のサニタイズは、既に何度か議論されています。これはおそらく役立ちます:http://stackoverflow.com/questions/3413297/how-to-sanitize-html-code-in-java-to-prevent-xss-attacks?rq=1 – Slettal