Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 3317|Odpoveď: 2

[Zdroj] ASP.NET MVC žiada XSS validáciu nebezpečného obsahu (ValidateInput)

[Kopírovať odkaz]
Zverejnené 8. 7. 2023 22:05:07 | | | |
Požiadavky: Extrahujte zdrojový kód v ASP.NET MVC na overenie potenciálne nebezpečných údajov vo formulári žiadosti. Jednoducho povedané, overuje, či požadované dáta obsahujú obsah cross-site scripting (XSS),XSS je v MVC predvolene blokovaný

Cross-site scripting (XSS) je bezpečnostná zraniteľnosť, ktorú možno nájsť v niektorých webových aplikáciách. Útoky XSS umožňujú útočníkom vkladať skripty na strane klienta do webových stránok, ktoré si prezerajú iní používatelia. Útočníci by mohli využiť zraniteľnosti skriptovania naprieč lokalitami na obchádzanie prístupových kontrol, ako sú politiky rovnakého pôvodu.

ValidateInput: Hodí overenie kolekcií prístupných cez vlastnosti Cookies, Form a QueryString. maliHttpRequestTrieda používa vstupnú validačnú vlajku na sledovanie, či sa validácia vykonáva na kolekcii požiadaviek, ktoré pristupujú k QueryString cez vlastnosť Cookies Form.

public void ValidateInput() {
            Nedáva zmysel volať to viackrát na požiadanie.
            Navyše, ak bola validácia potlačená, no-op teraz.
            if (ValidateInputWasCalled || RequestValidationSuppressed) {
                vrátiť;
            }

            _Vlajky. Set(hasValidateInputBeenCalled);

            Toto je na zabránenie niektorým XSS (cross site scripting) útokom (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);
        }

Dokumentácia:Prihlásenie na hypertextový odkaz je viditeľné.

Overenie potenciálne nebezpečných údajov:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, ako je znázornené na obrázku nižšie:



Adresa zdrojového kódu:

Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.

Skopírujte zdrojový kód do svojho projektu a otestujte ho nasledovne:



Zdroj:


Ak naozaj chcete prijímať nebezpečný obsah, môžete použiť Request.Unvalidated.Form

(Koniec)




Predchádzajúci:ASP.NET MVC získava všetky adresy rozhrania cez reflexiu
Budúci:.NET/C# používa SqlConnectionStringBuilder na porovnanie databázových spojení
 Prenajímateľ| Zverejnené 8. 7. 2023 22:06:32 |
AllowHtmlAttribute trieda: Umožňuje požiadavky zahrnúť HTML značkovanie počas viazania modelu preskočením validácie požiadaviek pre atribúty. (Dôrazne sa odporúča, aby aplikácie explicitne kontrolovali všetky modely, ktoré deaktivujú validáciu požiadaviek, aby zabránili útokom skriptovania.) )

https://learn.microsoft.com/zh-c ... .allowhtmlattribute
 Prenajímateľ| Zverejnené 8. 7. 2023 22:06:49 |
ValidateAntiForgeryToken a AutoValidateAntiforgeryToken anti-counterfeiting tagy sú podrobne vysvetlené
https://www.itsvse.com/thread-9568-1-1.html
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com