問題タブ [html-sanitizing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
720 参照

ruby-on-rails-3 - Railsのsimple_formatヘルパーはxssから保護するのに十分ですか?

simple_format特定のhtmlタグを許可するものを読んでテストしました。

それは再びxssを保護するのに十分安全ですか?(ユーザーがテキストをきれいにするためにhtmlを配置してもかまわないと仮定します)これはxssになりますか?または私はh方法を維持する必要がありますか?

0 投票する
1 に答える
2485 参照

c# - HtmlAgilityPackSanitizerProvider は型を読み込めませんでした

私の問題は、HTML 拡張エディターを使用しようとしていることです。ajaxcontroltoolkit をインストールしました。これまでのところ、制御ツールキットは正常に機能していますが、サニタイズする必要があります。だから私はhtmlagilitypackをダウンロードして、次のように使用します:(また、コントロールにEnableSanitization = "true"を追加しました)

webconfig に追加:

と :

しかし、ajaxcontroolでページをロードすると、次のエラーが表示されます:

タイプ 'AjaxControlToolkit.Sanitizer.HtmlAgilityPackSanitizerProvider' を読み込めませんでした

参照されているすべての dll があります (AjaxControolToolkit、HtmlAgilityPack、SanitizersProviders)。投稿を最初2番目に読みましたが、役に立ちませんでした。私に何ができる?ありがとうございました。

0 投票する
1 に答える
2766 参照

java - JavaWebアプリケーションの固有のXSS脆弱性を修正する方法

私は何年も前のJavaWebアプリケーションに取り組んでいます。

おそらく開発者が既存のコードを盲目的にコピーしているために<bean:write>、JSPのほとんどのsは、必要のない場合でも持っています。はJSP変数を出力するStrutsタグであり、が指定されている場合、HTMLエスケープを実行しません(したがって、属性に似ています)。これは、これらの一部がユーザー入力を出力しているため、アプリケーションがXSS攻撃に対して脆弱であることを意味します。filter="false"<bean:write>filter="false"filter="false"<c:out>escapeXml="false"<bean:write filter="false">

filter="false"アプリケーションでユーザーがTinyMCEテキスト領域を使用してHTMLを入力できる場合があるため、を包括的に削除することはできません。そのため、ユーザーが入力したフォーマットを保持するために、生のHTMLを出力する必要がある場合もあります(ただし、スクリプトを削除するために、ユーザーが入力したHTMLをサニタイズします)。

コードには数千のがfilter="false"含まれているため、必要かどうかを判断するための各監査には時間がかかりすぎます。

私たちが考えているのは、独自のバージョンのbean:writeタグをsecure:write作成し、JSPでbean:writeをsecure:writeにグローバルに検索/置換することです。secure:writeが指定されている場合、出力からスクリプトを削除しfilter="false"ます。この変更後も、ユーザーはフォーマットHTMLを実際には出力できない場所に出力させることができますが、XSSの脆弱性が修正されている限り、当面はそれについて心配する必要はありません。

secure:writeライブラリを使用してタグにスクリプトストリッピングを実装したいと考えています。https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Projectとhttps://code.google.com/を確認しています。 p /owasp-java-html-sanitizer/。どちらもHTMLをサニタイズできるように見えますが、AntiSamyは、アプリケーションへの途中ではなく、アプリケーションへの途中でHTMLをサニタイズするために使用されるように見えます。また、データは入力よりも頻繁に出力されるため、すべてのsecure:write出力の実行が遅くなる可能性があることを懸念していました。

私は2つの主な質問があります:

1)提案されたアプローチは、によって引き起こされたXSSの脆弱性を修正するために機能しfilter="false"ますか?

2)コンテンツを表示するときにHTMLサニタイズに使用するライブラリを推奨できますか?つまり、ページレンダリングのパフォーマンスに大きな影響を与えないほど高速です。誰かがAntiSamyまたはowasp-java-html-sanitizerを同様の目的で使用したことがありますか?

0 投票する
1 に答える
736 参照

ruby-on-rails - 検証前にすべてのhtmlタグを削除

検証前にすべての属性のすべてのhtmlタグを削除するきれいな方法はありますか?acts_as_sanitizedは完璧に見えましたが、Rails 2の場合:-s

ありがとう

0 投票する
1 に答える
2327 参照

java - jspページでowasp-java-html-sanitizerのポリシーを使用する方法

私たちの Web サイトでクロスサイト スクリプティング (XSS) を防止するタスクが与えられました。この概念は私にとって新しいものであり、私はたくさんグーグルで検索し、owasp-java-html-sanitizer を入手しました。で独自のポリシーを作成しました

を使用し.allowAttributesてデザインしました。しかし今、私はそれを使用する方法がわかりません...次のコードスニペットを見つけました:

しかし、これは単純な HTML 用だと思うので、どうすればこれを JSP に適用できますか。助けてください。

0 投票する
1 に答える
746 参照

html - リンクの共有 - Google Caja HTML Sanitizer

私は新しい Web アプリで古典的な「ユーザー入力サニタイズ」の問題に取り組もうとしていますが、このタスクには Google Caja の HTML Sanitizer サーバー側を使用することにしました。

実装とテストはうまくいきましたが、まだいくつか質問があります。

  • 1) HTML4 の定義しか見つかりませんでした。これは、HTML5 タグが安全ではないということですか?

HTML 5 固有のタグ/属性 XSS を使用していくつかのテストを行いましたが、どれも機能しませんでしたが、テストされていないものが機能しないとは 100% 確信が持てません。

  • 2) Google Caja はあまり活発ではないようですが、これはセキュリティ上の問題になりますか?

  • 3) ユーザーがリンクを共有できるようにしたいのですが、Google Caja のフィルターを通過する安全な方法でこれを行うにはどうすればよいですか? (スタックオーバーフローのように)

  • 4) Caja は Unicode をどのように処理しますか?

前もって感謝します !

0 投票する
7 に答える
1817 参照

html - 信頼できない HTML5 のサニタイズ

信頼できないユーザーからの HTML を受け入れてサニタイズし、Web サイトのページに安全に含めることができるようにしたいと考えています。これは、マークアップを削除したりエスケープしたりしてはならず、 や などの危険なタグ、 などの危険な属性、<script>または背景 URL などの危険な CSS プロパティが含まれていない限り、本質的に変更されずに通過する必要があることを意味します。(どうやら一部の古い IE は CSS で JavaScript URL を実行しますか?)<iframe>onload

iframe に囲まれた別のドメインからコンテンツを提供することは、適切なオプションではありません。なぜなら、iframe の高さを事前に知る方法がないため、一部のページでは見苦しくなるからです。

HTML Purifier を調べてみたのですが、まだ HTML5 に対応していないようです。Google Cajaも調べましたが、スクリプトを使わない解決策を探しています。

これを実現するライブラリを知っている人はいますか? PHP が好まれますが、物乞いは選ぶことができません。

0 投票する
0 に答える
464 参照

javascript - HTMLのサニタイズ後に信頼できるiframeを埋め込む方法は?

デフォルトのホワイトリストでgoogle-caja html サニタイザーを使用 すると、埋め込みが許可されませんiframe

これがセキュリティ上のリスクであることはわかっているため、これを許可していません。iframeしかし、 Google マップや Twitter ボタンなどを介して機能を提供する、非常に多くの信頼できる Web サイトがあります。

したがって、信頼できるものを実装して、ユーザーがこの機能を使用できるようにする方法を教えてください。