Как программно очистить параметры ColdFusion cfquery?
Я унаследовал большое устаревшее приложение ColdFusion. Существуют сотни
Как я могу пойти о добавлении параметризации программно?
Я думал о написании некоторого регулярного выражения или решения типа sed/awk'y, но кажется, что кто-то где-то решал такую проблему. Бонусные баллы начисляются за автоматическое определение типа sql.
5 ответов
Сканер queryparam найдет их для вас на RIAForge: http://qpscanner.riaforge.org/
Здесь есть ссылка на скрипт: http://www.webapper.net/index.cfm/2008/7/22/ColdFusion-SQL-Injection, который сделает большую часть тяжелой работы за вас. Все, что вам нужно сделать, это проверить запросы и убедиться, что синтаксис будет правильно анализироваться.
Нет оправдания тому, чтобы не использовать CFQueryParam, кроме того, что он намного более безопасен, это повышение производительности и лучший способ обработки значений в кавычках в символьных типах столбцов.
Имейте в виду, что вы не сможете решить все с помощью
Я видел несколько примеров, когда порядок по имени поля передается в строке запроса, что является немного более сложной задачей, так как вам нужно проверить это более "ручным" способом.
<cf_inputFilter
scopes = "FORM,COOKIE,URL"
chars = "<,>,!,&,|,%,=,(,),',{,}"
tags="script,embed,applet,object,HTML">
Мы использовали это для противодействия недавней атаке SQL-инъекцией. Мы добавили его в файл Application.cfm для нашего сайта.
Я сомневаюсь, что есть решение, которое точно соответствует вашим потребностям. Единственный вариант, который я вижу, - написать собственный рекурсивный поиск, который создаст для вас отчет, или использовать одно из приложений / сценариев, перечисленных выше. По сути, вам придется редактировать каждую страницу или утверждать все автоматизированные изменения.