Согласно OWASP, это было до сих пор главной угрозой в 2013 году (вскоре после ASP.NET вышел): https://www.owasp.org/index.php/Top_10_2013-A1-Injection
параметризованных SQL не устраняет необходимости беспокоиться о инъекции SQL. Я работал в компании, где предыдущие разработчики создали хранимые процедуры, которые взяли строку в качестве параметра, создали динамический SQL, включая эту строку, и выполнили ее. Они утверждали, что это безопасно, поскольку он был параметризован, но я смог показать, что я могу передать SQL-код в сохраненный процесс и выполнить его.
Кроме того, утверждая, что вы защищены от SQL-инъекций, потому что вы используете язык, поддерживающий параметры, не означает, что вы используете параметры каждый раз. Для того, чтобы кто-нибудь мог вводить какой-либо код в вашу базу данных, требуется только один промах.
Я думаю, что стоит отметить, что использование параметризации правильно эффективно устраняет угрозы SQL-инъекции. Хакер не может не поддаваться параметризации. Ситуация, о которой вы описали, очень специфична тем, что программист более или менее удалил преимущества предварительно скомпилированных запросов. Действительно, но, вероятно, не то, о чем спрашивал ОП. – user2752635
Интересно. Итак, SQL-инъекции в большей степени основаны на взломах? Спасибо за ответ :) –
@ user2752635 Хотя, если содержимое строки может быть неверно истолковано как код, как можно избежать этого? –