Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 3317|Odpověď: 2

[Zdroj] ASP.NET MVC požaduje XSS ověření nebezpečného obsahu (ValidateInput)

[Kopírovat odkaz]
Zveřejněno 08.07.2023 22:05:07 | | | |
Požadavky: Extrahujte zdrojový kód v ASP.NET MVC pro ověření potenciálně nebezpečných dat ve formuláři žádosti. Jednoduše řečeno, ověřuje, že požadovaná data obsahují obsah cross-site scripting (XSS),XSS je ve výchozím nastavení v MVC blokován

Cross-site scripting (XSS) je bezpečnostní zranitelnost, kterou lze nalézt v některých webových aplikacích. Útoky XSS umožňují útočníkům vkládat skripty na straně klienta do webových stránek, které prohlížejí ostatní uživatelé. Útočníci by mohli zneužít zranitelnosti skriptování napříč weby k obejití přístupových kontrol, jako jsou politiky stejného původu.

ValidateInput: Hodí ověření kolekcí přístupných přes vlastnosti Cookies, Form a QueryString. měl byHttpRequestTřída používá vstupní validační příznak ke sledování, zda je validace provedena na kolekci požadavků přistupujících k QueryString prostřednictvím vlastnostního formuláře Cookies.

public void ValidateInput() {
            Nedává smysl volat to opakovaně na žádost.
            Navíc, pokud byla validace potlačena, no-op teď.
            if (ValidateInputWasCalled || RequestValidationSuppressed) {
                vrátit;
            }

            _vlajky. Set(hasValidateInputBeenCalled);

            To má zabránit některým útokům XSS (cross site scripting) (ASURT 122278)
            _vlajky. Set(needToValidateQueryString);
            _vlajky. Set(needToValidateForm);
            _vlajky. Set(needToValidateCookies);
            _vlajky. Set(needToValidatePostedFiles);
            _vlajky. Set(needToValidateRawUrl);
            _vlajky. Set(needToValidatePath);
            _vlajky. Set(needToValidatePathInfo);
            _vlajky. Set(needToValidateHeaders);
        }

Dokumentace:Přihlášení k hypertextovému odkazu je viditelné.

Ověřte potenciálně nebezpečná data:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, jak je znázorněno na obrázku níže:



Adresa zdrojového kódu:

Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.

Zkopírujte zdrojový kód do svého projektu a otestujte ho následovně:



Zdroj:


Pokud opravdu chcete přijímat nebezpečný obsah, můžete použít Request.Unvalidated.Form

(Konec)




Předchozí:ASP.NET MVC získává všechny adresy rozhraní přes reflexi
Další:.NET/C# používá SqlConnectionStringBuilder k porovnání databázových spojení
 Pronajímatel| Zveřejněno 08.07.2023 22:06:32 |
Třída AllowHtmlAtribut: Umožňuje požadavky zahrnout HTML značkování během vazby modelu vynecháním validace požadavků pro atributy. (Důrazně se doporučuje, aby aplikace explicitně kontrolovaly všechny modely, které deaktivují validaci požadavků, aby zabránily skriptovacím útokům.) )

https://learn.microsoft.com/zh-c ... .allowhtmlattribute
 Pronajímatel| Zveřejněno 08.07.2023 22:06:49 |
ValidateAntiCounterfeitryToken a AutoValidateAntiforgeryToken jsou podrobně vysvětleny štítky proti padělání
https://www.itsvse.com/thread-9568-1-1.html
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com