SQL-инъекция с использованием PMD - PullRequest
0 голосов
/ 24 сентября 2018

Я застрял в ситуации, когда FindBugs не смог обнаружить SQL-инъекцию в моем проекте.Проект содержит несколько репо с Gradle.Можно ли как-то идентифицировать с помощью PMD ?Или, если у вас есть альтернатива, пожалуйста, предложите мне.

Ответы [ 3 ]

0 голосов
/ 24 сентября 2018

Вы уже добавили Поиск ошибок безопасности ?Если нет, вы должны это сделать, потому что это может обнаружить некоторые дополнительные угрозы безопасности - также некоторые риски внедрения SQL.Btw.вам больше не следует использовать FindBugs, используйте его преемник SpotBugs - вышеупомянутый плагин также отлично работает с SpotBugs.

0 голосов
/ 24 сентября 2018

Просто мы все на одной странице:

Для такого инструмента, как PMD, невозможно найти все ошибки SQL-инъекций.

Инструменты могут обнаружить некоторыеочевидно, неправильные шаблоны, но вы не получите помощь сверх того, что вы можете сделать вручную, просто выполнив поиск по всей вашей кодовой базе (используя grep или IDE) для строк, содержащих «SELECT», «INSERT» и «UPDATE», и убедившись, что онине построен с использованием конкатенации.

Ценность PMD и тому подобное не в интеллекте, а наоборот: их глупое, легкомысленное упрямство и настойчивость в том, что определенных шаблонов избегают «на всякий случай».

0 голосов
/ 24 сентября 2018

SQL-инъекция в основном ul.для вашего входа в систему и ссылки открываются с? id или что-то в этом роде, и я думаю, вам не нужен какой-либо инструмент, чтобы получить патч на Java.Sql-Injection и Blind SQL обе причины атаки из-за неосторожной реализации кода с JDBC.

Будет быстрое исправление, обновите все ваши существующие вызовы БД с помощью PrepareStatement , и если у вас есть открытый URL-адрес для идентификатора, примените к нему надлежащий encp / decp.

...