Követelmények: A forráskód kinyerése ASP.NET MVC-ben, hogy érvényesítse a potenciálisan veszélyes adatokat a kérelmezési űrlapon. Egyszerűen fogalmazva, igazolja, hogy a kért adat tartalmaz-e keresztoldali szkript-tartalmat (XSS),Az XSS alapértelmezettől blokkolva van az MVC-ben。
A keresztoldali szkriptelések (XSS) egy biztonsági sebezhetőség, amely bizonyos webalkalmazásokban megtalálható. Az XSS támadások lehetővé teszik a támadók számára, hogy kliensoldali szkripteket injektáljanak más felhasználók által megtekintett weboldalakra. A támadók kihasználhatják a weboldalakon átívelő szkript-sebezhetőséget, hogy megkerüljék a hozzáférési ellenőrzéseket, például az azonos eredetű szabályzatokat. ValidateInput: Átadja a Cookie, Form és QueryString tulajdonságokon keresztül elérhető gyűjtemények ellenőrzését. kelleneHttpRequestAz osztály a bemeneti validációs zászlót használja annak nyomon követésére, hogy a lekérdezés elvégzik-e olyan kérések gyűjteményét, amelyek a Cookies tulajdonságformán keresztül érnek hozzá a QueryStringhez.
public void ValidateInput() { Nem logikus, hogy ezt többször hívjuk egy kérés alatt. Ráadásul, ha az elismerést elnyomták, most nem operál. if (ValidateInputWasCalled || RequestValidationSuppressed) { visszatérés; }
_Zászlók. Set(hasValidateInputBeenCalled);
Ez azért van, hogy megakadályozza bizonyos XSS (cross site scripting) támadásokat (ASURT 122278) _Zászlók. set(needToValidateQueryString); _Zászlók. Set(needToValidateForm); _Zászlók. Set(needToValidateCookies); _Zászlók. Set(needToValidatePostedFiles); _Zászlók. set(needToValidateRawUrl); _Zászlók. Set(needToValidatePath); _Zászlók. Set(needToValidatePathInfo); _Zászlók. Set(needToValidateHeaders); } Dokumentáció:A hiperlink bejelentkezés látható.
Potenciálisan veszélyes adatok validálása:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, ahogy az alábbi ábrán látható:
Forráskód cím:
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
Másold le a forráskódot a projektedbe, és teszteld az alábbiakban:
Forrás:
Ha valóban veszélyes tartalmat szeretnél kapni, használhatod az Request.Unvalidated.Form formát
(Vége)
|