はHTMLエンコードを防止するためのクロスサイト-スクリプティング攻撃?

StackOverflow https://stackoverflow.com/questions/53728

  •  09-06-2019
  •  | 
  •  

質問

私はその他の種類の攻撃であった。しているかどうかのHTMLエンコードの防止が可能ですべての種類のクロスサイト-スクリプティング攻撃であった。

る方法はありませクロスサイト-スクリプティング攻撃の場合でもHTMLコード化してたのか?

役に立ちましたか?

解決

No.

は別として、アメリカの対象を一部のタグのないもののいHtmlEncodeだけでなくカバーすべてのクロスサイト-スクリプティング攻撃であった。

例えば、サーバで生成されたクライアント側でjavascriptのサーバを動的に出力htmlencoded値を直接クライアント側のjavascript htmlencodeま 止まりません 注入スクリプトから実行.

次の次の擬似コード:

<input value=<%= HtmlEncode(somevar) %> id=textbox>

現在、場合について、明白な場合somevarされ、ユーザーのコース)が設定例

a onclick=alert(document.cookie)

結果の出力は

<input value=a onclick=alert(document.cookie) id=textbox>

ることは明白です。明らかにすることは、(ほぼ)その他、スクリプト...とHtmlEncodeが行います。

が追加ベクトルに考えられる...を含む第三の風味のクロスサイト-スクリプティングと呼ばれるDOMに基づくクロスサイト-スクリプティング(式中、悪意のあるスクリプトが発生する動的にクライアントなどに基づくネットワークに接続している値)。

ものを忘れないUTF-7タイプの攻撃の攻撃のように見え

+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-

何もしないエンコードがあ---

このコースのほか、適切な制限がホワイトリストに入力の検証)を行う コンテキスト依存 エンコード:HtmlEncodingあれば出力コンテキスト、HTMLやかに必要なJavaScriptEncoding、VBScriptEncoding、AttributeValueEncodingやダウンロードも可能です。など。

使用している場合は、MS ASP.NETまAnti-XSS図書館の提供に必要な全てのコンテキスト符号化方法。

全てのエンコード制限されるべきではないユーザー入力が格納された値からのデータベース、テキストファイル等

あ、も忘れずに明示的にセットの文字セットは、HTTPヘッダのMETAタグ、まだまだUTF-7の脆弱性...

一部の詳細情報、および、写定リストを常時更新)、チェックアウトRSnakeのチートシート: http://ha.ckers.org/xss.html

他のヒント

の場合を体系的にエンコードユーザーのすべての入力の前に表示する その安全 だいたものは100%安全です。
見@熱心なのができます。

ほかにも問題が起きましょう 一部の タグっエンコードせずそうすることができますがユーザーの投稿画像やテキストを太字は必要とするあらゆる機能はユーザの入力として処理(改)連符号化されたマークアップ等を行っています。

まセットアップの意思決定システムを決めるタグは許されないものは、いつでも可能なのですがその人の姿に不可のモニター。

この場合のフォロジョエルのアドバイスの 作間違ったコードを見誤った 場合又は 言語を使 による警告なしの作成のときの出力を処理ユーザーデータ(静止-タイピング).

場合はエンコードもいうようになります。によってプラットフォームの実施htmlencode)が置するwebアプリケーションに複雑であるので忘れチェックがこれに取り組んでくれました。も第3者機関部品な安心です。またはもしかしたコードパスだったエンコードなので忘れにならいしか採用できる場所はない。

のんびりチェックのものの入力側です。とがでチェックしたいものだから読み取られデータベースです。

として記述した全ての皆様には、安全などのエンコード すべての ユーザー入力の前に表示します。このすべてのリクエストパラメータおよび取得したデータからのデータベースを変更するにはユーザー入力します。

として 記号 だ時に表示したいタグでは、全てのタグです。一般的にはマークアップ言語のように 繊維, 値下げ, や BBCode.しかし、マークアップ言語での脆弱性が存在します。クロスサイト-スクリプティング、注意します。

# Markup example
[foo](javascript:alert\('bar'\);)

いう"安全"のタグを通じてのものをお勧めしますこの既存の図書館を構文解析&サニタイズコードの前に出力されます。があり 多くのクロスサイト-スクリプティングベクトル あることができますを検出す前に指消毒剤は安全です。

っmetavidaのアドバイスを探サードパーティライブラリに対応出力フィルタリング中和のHTML文字は良いアプローチを停止クロスサイト-スクリプティング攻撃であった。しかし、コードを使用する変換metacharactersできる脆弱性が存在します。回避攻撃例えばっていることを確認してください適切に取り扱いUnicodeと育成を目指しています。

クラシックの簡単なミスを自作出力フィせくだ < と>だいることができる休憩ユーザー制御により出力の属性のスペースのHTMLタグがJavascriptに取り付けできるDOM.

--ちなみに、エンコード共通のHTMLのトークンは完全に防御するサイトからのクロスサイト-スクリプティング攻撃であった。例えば、このクロスサイト-スクリプティングの脆弱性がgoogle.com:

http://www.securiteam.com/securitynews/6Z00L0AEUE.html

の重要な点としてこの種の脆弱性の攻撃できるエンコード氏のクロスサイト-スクリプティング実験ペイロードをUTF-7やっていない場合は指定した別の文字のエンコーディングページには、ユーザのブラウザが解釈するときは、UTF-7ペイロードすることを攻撃す。

ひとつ確認する必要がありますがご入力が出ているのです。利用できるク元の文字列(もの)をチェックですが自分のページが隠れランダム番号やフォームのネットワークでセッションで設定変数のつもりもあるということは入力から自分のサイトは一部のフィッシング詐欺サイトです。

思いHTML清浄機(http://htmlpurifier.org/ いうフィルターは、htmlでは基本的にtokenizes再統です。その産業の強みです。

では、追加の利益を確保で有効なhtml/xhtmlの出力に出力します。

またn'thing繊維、そのツールとして使用しますのが、今でもhtml清浄機です。

しないほうがいいと思いまかんの再枚配布します。HTML清浄機だけの悩みではありません'フィルターで実を再構成します。 http://htmlpurifier.org/comparison.html

いと思っています。Htmlエンコードに変換すべての機能文字(文字ることにより、ブラウザとしてコード)を実体参照を解析できなブラウザによっては、このように、できない実行されます。

&lt;script/&gt;

るということはあり得ません上記の実行できるブラウザです。

**特記がない場合はそのバグのブラウザに昇、雨などの天候により.*

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top