Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 3317|Отговор: 2

[Източник] ASP.NET MVC заявява XSS Dangerous Content Validation (ValidateInput)

[Копирай линк]
Публикувано в 8.07.2023 г. 22:05:07 ч. | | | |
Изисквания: Извлечете изходния код в ASP.NET MVC, за да валидирате потенциално опасни данни във формата за заявка. Просто казано, той потвърждава, че поисканите данни съдържат съдържание, свързано със скриптоване между сайтове (XSS),XSS е блокиран по подразбиране в MVC

Крос-сайт скриптовете (XSS) са уязвимост в сигурността, която може да се срещне в някои уеб приложения. XSS атаките позволяват на нападателите да инжектират клиентски скриптове в уеб страници, разглеждани от други потребители. Нападателите могат да използват уязвимости при крос-сайт скриптиране, за да заобиколят контрол на достъпа като политики за един и същи произход.

ValidateInput: Пуска валидиране на колекции, достъпени чрез свойствата Cookies, Form и QueryString. ТрябваHttpRequestКласът използва входния флаг за валидация, за да проследи дали валидирането се извършва върху колекция от заявки, достъпващи QueryString чрез Формуляра за свойства бисквитки.

public void ValidateInput() {
            Няма смисъл да се обажда на това няколко пъти на заявка.
            Освен това, ако валидирането е било потиснато, сега не е операция.
            ако (ValidateInputWasCalled || RequestValidationSuppressed) {
                връщане;
            }

            _Знамена. Set(hasValidateInputBeenCalled);

            Това е с цел да се предотвратят някои XSS (crosssite scripting) атаки (ASURT 122278)
            _Знамена. Set(needToValidateQueryString);
            _Знамена. Set(needToValidateForm);
            _Знамена. Set(needToValidateCookies);
            _Знамена. Set(needToValidatePostedFiles);
            _Знамена. Set(needToValidateRawURL);
            _Знамена. Set(needToValidatePath);
            _Знамена. Set(needToValidatePathInfo);
            _Знамена. Set(needToValidateHeaders);
        }

Документация:Входът към хиперлинк е видим.

Валидиране на потенциално опасни данни:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, както е показано на фигурата по-долу:



Адрес на изходния код:

Входът към хиперлинк е видим.
Входът към хиперлинк е видим.

Копирайте изходния код в проекта си и го тествайте по следния начин:



Източник:


Ако наистина искате да получавате опасно съдържание, можете да използвате Request.Unvalidated.Form

(Край)




Предишен:ASP.NET MVC получава всички интерфейсни адреси чрез отражение
Следващ:.NET/C# използва SqlConnectionStringBuilder за сравняване на връзките с бази данни
 Хазяин| Публикувано в 8.07.2023 г. 22:06:32 ч. |
AllowHtmlAttribute клас: Позволява заявките да включат HTML маркиране по време на обвързване на модела чрез пропускане на валидиране на заявка за атрибути. (Силно се препоръчва приложенията изрично да проверяват всички модели, които изключват валидирането на заявки, за да предотвратят атаки със скриптове.) )

https://learn.microsoft.com/zh-c ... .allowhtmlattribute
 Хазяин| Публикувано в 8.07.2023 г. 22:06:49 ч. |
Антифалшивите тагове ValidateAntiForgeryToken и AutoValidateAntiforgeryToken са обяснени подробно
https://www.itsvse.com/thread-9568-1-1.html
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com