Наш клиент требует, чтобы мы запускали инструмент OWASP ZAP против нашего веб-приложения (ASP.NET 4.5.2, Webforms), и у нас не может быть результатов с высоким приоритетом в отчете.OWASP ZAP - как «доказать» ложные срабатывания?
Мы сделали анализ, и OWASP ZAP сообщает две уязвимости, как, скорее всего, "ложные срабатывания":
- выполнение команды Remote OS
- инъекция SQL
Дистанционное Исполнение команд ОС кажется фиктивным, потому что мы не выполняем любые команды OS в любом месте - так как могли ли любые злоумышленники получить наш код для выполнения его команды на удаленной машине?
И инъекция SQL, кажется чрезвычайно поддельной, так как мы используем Entity Framework везде которая использует должным образом параметризованные запросы, которые являются золотым стандартом против любой инъекции SQL ....
Есть другие люди были эти виды «ложных срабатываний» с OWASP ZAP? Существуют ли какие-либо «известные проблемы» в любом месте, которые мы могли бы использовать, чтобы доказать, что инструмент неверен - не наш код?
Даже с EF вы все равно можете запускать произвольные запросы и просто материализовывать результаты. Не так давно я нашел такую проблему в одном из проверенных приложений. Удостоверьтесь, что zap просто не нашел то, что вы не считаете имеющим в своем коде. –
@WiktorZychla: вы правы, но у нас нет никакого «произвольного SQL» в вашем EF-коде - это абсолютно точно. –
Я думаю, что говорить вашему клиенту, что вы просмотрели код, и используете EF без специального кода SQL, чтобы он не был уязвим для SQLi, должно быть достаточно. Вы можете показать их части исходного кода, если они настаивают, но это не обязательно, если вы дадите это в письменной форме. Возможно, более интересна инъекция команд ОС, возможно, возможны тонкие способы, но ZAP иногда вызывает множество ложных срабатываний, поэтому тоже может быть очень просто. –