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)
|