|
|
Publicēts 08.07.2023 22:05:07
|
|
|
|

Prasības: Izvelciet avota kodu ASP.NET MVC, lai apstiprinātu potenciāli bīstamus datus pieprasījuma veidlapā. Vienkārši sakot, tas pārbauda, vai pieprasītajiem datiem ir starpvietņu skriptēšanas (XSS) saturs,XSS ir bloķēts pēc noklusējuma MVC。
Starpvietņu skriptēšana (XSS) ir drošības ievainojamība, kas ir atrodama dažās tīmekļa lietojumprogrammās. XSS uzbrukumi ļauj uzbrucējiem ievadīt klienta puses skriptus citu lietotāju skatītajās tīmekļa lapās. Uzbrucēji var izmantot starpvietņu skriptēšanas ievainojamību, lai apietu piekļuves kontroli, piemēram, vienas izcelsmes politikas. ValidateInput: veic to kolekciju validāciju, kurām piekļūst, izmantojot rekvizītus Cookies, Form un QueryString. BūtuHttpPieprasījumsKlase izmanto ievades validācijas karodziņu, lai izsekotu, vai validācija tiek veikta pieprasījumu kopumam, kas piekļūst QueryString, izmantojot rekvizītu veidlapu Cookies.
public void ValidateInput() { Nav jēgas zvanīt vairākas reizes vienā pieprasījumā. Turklāt, ja validācija tika apspiesta, tagad ne-op. if (ValidateInputWasCalled || RequestValidationSuppressed) { atgriezt; }
_Karodziņus. Set(hasValidateInputBeenCalled);
Tas ir paredzēts, lai novērstu dažus XSS (starpvietņu skriptēšanas) uzbrukumus (ASURT 122278) _Karodziņus. Set(nepieciešamsToValidateQueryString); _Karodziņus. Set(NeedToValidateForm); _Karodziņus. Set(NeedToValidateCookies); _Karodziņus. Set(NeedToValidatePostedFiles); _Karodziņus. Set(NeedToValidateRawUrl); _Karodziņus. Set(NeedToValidatePath); _Karodziņus. Set(NeedToValidatePathInfo); _Karodziņus. Set(NeedToValidateHeaders); } Dokumentācija:Hipersaites pieteikšanās ir redzama.
Pārbaudiet potenciāli bīstamus datus:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, kā parādīts attēlā:
Avota koda adrese:
Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.
Kopējiet avota kodu savā projektā un pārbaudiet to šādi:
Avots:
Ja patiešām vēlaties saņemt bīstamu saturu, varat izmantot Request.Unvalidated.Form
(Beigas)
|
Iepriekšējo:ASP.NET MVC iegūst visas interfeisa adreses, izmantojot pārdomasNākamo:.NET/C# izmanto SqlConnectionStringBuilder, lai salīdzinātu datu bāzes savienojumus
|