この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 3317|答える: 2

[出典] ASP.NET MVCがXSS危険なコンテンツ検証(ValidateInput)を要求します

[リンクをコピー]
掲載地 2023/07/08 22:05:07 | | | |
要件:リクエストフォーム内の潜在的に危険なデータを検証するために、MVC ASP.NET ソースコードを抽出してください。 簡単に言えば、要求されたデータにクロスサイトスクリプティング(XSS)コンテンツが含まれているかどうかを検証します。MVCではXSSはデフォルトでブロックされています

クロスサイトスクリプティング(XSS)は、一部のウェブアプリケーションで見られるセキュリティ脆弱性です。 XSS攻撃は、攻撃者が他のユーザーが閲覧するウェブページにクライアントサイドスクリプトを注入することを可能にします。 攻撃者はクロスサイトスクリプトの脆弱性を利用して、同一発信者ポリシーなどのアクセス制御を回避することができました。

ValidateInput:Cookies、Form、QueryStringプロパティを通じてアクセスされたコレクションの検証をスローします。 べきHttpRequestこのクラスは、CookiesプロパティFormを通じてQueryStringにアクセスするリクエスト群に対して検証が行われたかどうかを追跡するために、入力検証フラグを使用します。

public void ValidateInput() {
            リクエストごとに何度も呼ぶのは意味がありません。
            さらに、もし検証が抑圧されていたなら、今はノーオープションです。
            もし(ValidateInputWasCalled || RequestValidationSuppressed) {
                帰る;
            }

            _フラグ。 Set(hasValidateInputBeenCalled);

            これは一部のXSS(クロスサイトスクリプティング)攻撃(ASURT 122278)を防ぐためです
            _フラグ。 Set(needToValidateQueryString);
            _フラグ。 Set(needToValidateForm);
            _フラグ。 Set(needToValidateCookies);
            _フラグ。 Set(needToValidatePostedFiles);
            _フラグ。 Set(needToValidateRawUrl);
            _フラグ。 Set(needToValidatePath);
            _フラグ。 Set(needToValidatePathInfo);
            _フラグ。 Set(needToValidateHeaders);
        }

ドキュメンテーション:ハイパーリンクのログインが見えます。

潜在的に危険なデータの検証:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString、下図に示されているように:



ソースコードアドレス:

ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。

ソースコードをプロジェクトにコピーし、以下のようにテストしてください:



源:


本当に危険なコンテンツを受け取りたい場合は、Request.Unvalidated.Form を使うことができます

(終わり)




先の:ASP.NET MVCはすべてのインターフェースアドレスを反射で取得します
次に:.NET/C#はデータベース接続を比較するためにSqlConnectionStringBuilderを使用します
 地主| 掲載地 2023/07/08 22:06:32 |
AllowHtmlAttributeクラス:モデルバインディング中に属性の要求検証をスキップすることでHTMLマークアップを含めることができます。 (スクリプト攻撃を防ぐために、リクエスト検証を無効にするモデルはアプリケーションが明示的にチェックすることを強く推奨します。) )

https://learn.microsoft.com/zh-c ... .allowhtmlattribute
 地主| 掲載地 2023/07/08 22:06:49 |
ValidateAntiForgeryTokenおよびAutoValidateAntiforgeryTokenの偽造防止タグについて詳しく説明しています
https://www.itsvse.com/thread-9568-1-1.html
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com