Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 3317|Ответ: 2

[Источник] ASP.NET MVC запрашивает XSS Dangerous Content Validation (ValidateInput)

[Скопировать ссылку]
Опубликовано 08.07.2023 22:05:07 | | | |
Требования: Извлечь исходный код в ASP.NET MVC для проверки потенциально опасных данных в форме запроса. Проще говоря, он проверяет, что запрошенные данные содержат содержимое межсайтового скриптинга (XSS),XSS по умолчанию блокируется в MVC

Кросс-сайтовое скриптирование (XSS) — это уязвимость безопасности, которая встречается в некоторых веб-приложениях. XSS-атаки позволяют злоумышленникам вводить клиентские скрипты на веб-страницы, которые просматривают другие пользователи. Злоумышленники могут использовать уязвимости кросс-сайтового скриптинга, чтобы обойти контроли доступа, такие как политики одного происхождения.

ValidateInput: Отправляет проверку коллекций, доступных через свойства Cookies, Form и QueryString. следуетhttpRequestКласс использует флаг проверки ввода, чтобы отслеживать, выполняется ли валидация по набору запросов, обращающихся к QueryString через форму свойств Cookie.

public void ValidateInput() {
            Нет смысла звонить по этому вопросу несколько раз за один запрос.
            Кроме того, если подтверждение было подавлено, сейчас не будет операции.
            если (ValidateInputWasCalled || RequestValidationSuppressed) {
                возвращать;
            }

            _Флаги. Set(hasValidateInputBeenCalled);

            Это делается для предотвращения некоторых атак XSS (кросс-сайт скриптинга) (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 для сравнения соединений с базами данных
 Хозяин| Опубликовано 08.07.2023 22:06:32 |
Класс AllowHtmlAttribute: позволяет запросам включать разметку HTML во время привязки модели, пропуская проверку запроса по атрибутам. (Настоятельно рекомендуется приложениям явно проверять все модели, отключающие проверку запросов, чтобы предотвратить атаки скриптов.) )

https://learn.microsoft.com/zh-c ... .allowhtmlattribute
 Хозяин| Опубликовано 08.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