ASP.NET — сохраненная проблема XSS с использованием Razor Pages, возможно?

Checkmarx обвиняет мой код в том, что он уязвим для Stored XSS.

Это оправдание:

Индекс приложения встраивает ненадежные данные в сгенерированные выходные данные с помощью addCodigo в строке 653 файла \Controllers\InfoApontamentoController.cs. Эти ненадежные данные встраиваются прямо в выходные данные без надлежащей очистки или кодирования, что позволяет злоумышленнику внедрить вредоносный код в выходные данные.

Злоумышленник сможет изменить возвращенную веб-страницу, заранее сохранив вредоносные данные в хранилище данных. Измененные данные злоумышленника затем считываются из базы данных методом Buscar с параметром Where

Мой код в методе Index:

 //_codigoOperacionaisService.ObterAtivos() comes from repository
 ViewBag.addCodigo = new SelectList(_codigoOperacionaisService.ObterAtivos(), "Id", "Codigo", "Descricao");

Мой код веб-страницы:

@Html.DropDownList("Id", ViewBag.addCodigoas SelectList, "Select One", new { @class = "form-control", @id = "selectEscala" })

Мой код репозитория:

 public IEnumerable<CodigosDeOperacao> ObterAtivos()
    {
        return Buscar(c => c.Ativo && !c.Excluido).OrderBy(c => c.Codigo);
    }

 public virtual IEnumerable<TEntity> Buscar(Expression<Func<TEntity, bool>> predicate)
    {
        return Dbset.Where(predicate);
    }

Если есть уязвимость, как я могу ее устранить или как проверить, что она перестает указываться как уязвимая?

Я считаю, что его не существует, потому что я использую помощников и бритву, какие-нибудь советы, как я могу пройти сканирование checkmarx?


person AllPower    schedule 25.02.2021    source источник
comment
Я думаю, что это ложное срабатывание и должно быть помечено как неэксплуатируемое. Спорьте со своей командой безопасности с вашими точками и сообщите им заголовок stackoverflow.com/questions/31349297/   -  person securecodeninja    schedule 04.03.2021