Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 3317|Răspunde: 2

[Sursă] ASP.NET MVC solicită validarea conținutului periculos XSS (ValidateInput)

[Copiază linkul]
Postat pe 08.07.2023 22:05:07 | | | |
Cerințe: Extrageți codul sursă din ASP.NET MVC pentru a valida datele potențial periculoase din formularul de solicitare. Pe scurt, verifică dacă datele solicitate conțin conținut cross-site scripting (XSS),XSS este blocat implicit în MVC

Cross-site scripting (XSS) este o vulnerabilitate de securitate care poate fi găsită în unele aplicații web. Atacurile XSS permit atacatorilor să injecteze scripturi pe partea clientului în paginile web vizualizate de alți utilizatori. Atacatorii ar putea exploata vulnerabilitățile de scripting cross-site pentru a ocoli controalele de acces, cum ar fi politicile de aceeași origine.

ValidateInput: Generează validarea colecțiilor accesate prin proprietățile Cookies, Form și QueryString. Ar trebui săHttpRequestClasa folosește flag-ul de validare a intrărilor pentru a urmări dacă validarea este efectuată pe o colecție de cereri care accesează QueryString-ul prin proprietatea Cookies Form.

public void ValidateInput() {
            Nu are sens să suni asta de mai multe ori pe cerere.
            În plus, dacă validarea a fost suprimată, nu operează acum.
            dacă (ValidateInputWasCalled || RequestValidationSuppressed) {
                restitui;
            }

            _Steaguri. Set(hasValidateInputBeenCalled);

            Acest lucru este pentru a preveni unele atacuri XSS (cross site scripting) (ASURT 122278)
            _Steaguri. Set(needToValidateQueryString);
            _Steaguri. Set(needToValidateForm);
            _Steaguri. Set(needToValidateCookies);
            _Steaguri. Set(needToValidatePostedFiles);
            _Steaguri. Set(needToValidateRawUrl);
            _Steaguri. Set(needToValidatePath);
            _Steaguri. Set(needToValidatePathInfo);
            _Steaguri. Set(needToValidateHeaders);
        }

Documentație:Autentificarea cu hyperlink este vizibilă.

Validează datele potențial periculoase:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, așa cum se arată în figura de mai jos:



Adresa codului sursă:

Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.

Copiază codul sursă în proiectul tău și testează-l astfel:



Sursă:


Dacă vrei cu adevărat să primești conținut periculos, poți folosi Request.Unvalidated.Form

(Sfârșit)




Precedent:ASP.NET MVC obține toate adresele interfeței prin reflexie
Următor:.NET/C# folosește SqlConnectionStringBuilder pentru a compara conexiunile la baze de date
 Proprietarul| Postat pe 08.07.2023 22:06:32 |
Clasa AllowHtmlAttribute: Permite cererilor să includă marcajul HTML în timpul legării modelului prin sărirea validării cererilor pentru atribute. (Se recomandă cu tărie ca aplicațiile să verifice explicit toate modelele care dezactivează validarea cererilor pentru a preveni atacurile de scripting.) )

https://learn.microsoft.com/zh-c ... .allowhtmlattribute
 Proprietarul| Postat pe 08.07.2023 22:06:49 |
Etichetele anti-falsificare ValidateAntiForgeryToken și AutoValidateAntiforgeryToken sunt explicate în detaliu
https://www.itsvse.com/thread-9568-1-1.html
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com