Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 3317|Svar: 2

[Källa] ASP.NET MVC begär XSS Dangerous Content Validation (ValidateInput)

[Kopiera länk]
Publicerad på 2023-07-08 22:05:07 | | | |
Krav: Extrahera källkoden i ASP.NET MVC för att validera potentiellt farlig data i begäran. Enkelt uttryckt verifierar den att den begärda datan har innehåll för cross-site scripting (XSS),XSS blockeras som standard i MVC

Cross-site scripting (XSS) är en säkerhetssårbarhet som kan hittas i vissa webbapplikationer. XSS-attacker gör det möjligt för angripare att injicera klientsideskript i webbsidor som visas av andra användare. Angripare skulle kunna utnyttja sårbarheter i cross-site scripting för att kringgå åtkomstkontroller såsom policyer för samma ursprung.

ValidateInput: Kastar validering av samlingar som nås via egenskaperna Cookies, Form och QueryString. bordeHttpRequestKlassen använder indatavalideringsflaggan för att spåra om validering utförs på en samling förfrågningar som får tillgång till QueryString via Cookies egenskapsformulär.

public void ValidateInput() {
            Det är inte logiskt att ringa detta flera gånger per förfrågan.
            Dessutom, om validering undertrycktes, är det inte öppet nu.
            om (ValidateInputWasCalled || RequestValidationSuppressed) {
                återvända;
            }

            _flaggor. Set(hasValidateInputBeenCalled);

            Detta är för att förhindra vissa XSS-attacker (cross site scripting) (ASURT 122278)
            _flaggor. Set(needToValidateQueryString);
            _flaggor. Set(behöverAttValideraForm);
            _flaggor. Ställ in (behöverValideraCookies);
            _flaggor. Set(behöverValideraPostFiler);
            _flaggor. Set(needToValidateRawUrl);
            _flaggor. Set(behöverAttValideraVäg);
            _flaggor. Set(needToValidatePathInfo);
            _flaggor. Set(needToValidateHeaders);
        }

Dokumentation:Inloggningen med hyperlänken är synlig.

Validera potentiellt farlig data:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, som visas i figuren nedan:



Källkodsadress:

Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.

Kopiera källkoden till ditt projekt och testa den enligt följande:



Källa:


Om du verkligen vill ta emot farligt innehåll kan du använda Request.Unvalidated.Form

(Slut)




Föregående:ASP.NET MVC får alla gränssnittsadresser genom reflektion
Nästa:.NET/C# använder SqlConnectionStringBuilder för att jämföra databasanslutningar
 Hyresvärd| Publicerad på 2023-07-08 22:06:32 |
AllowHtmlAttribut-klassen: Tillåter förfrågningar att inkludera HTML-markering under modellbindning genom att hoppa över validering av förfrågningar för attribut. (Det rekommenderas starkt att applikationer explicit kontrollerar alla modeller som inaktiverar validering av begäranden för att förhindra skriptattacker.) )

https://learn.microsoft.com/zh-c ... .allowhtmlattribute
 Hyresvärd| Publicerad på 2023-07-08 22:06:49 |
ValidateAntiForgeryToken och AutoValidateAntiforgeryToken anti-förfalskningstaggar förklaras i detalj
https://www.itsvse.com/thread-9568-1-1.html
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com