Я хотел бы написать инструмент статического анализа кода для поиска уязвимостей SQLi в коде PHP.Обычно я просто использую сценарий для разделения функций и использую их для неадекватной очистки.Очевидно, что этот подход ограничен.
Схема программы, которую я хочу написать:
- Найти все вызовы mysql_query
- Найти все ссылки на функции, которыеcall mysql_query
- Отслеживайте все переменные, которые входят в каждый запрос запроса, и выясняйте, запускается ли на них mysql_real_escape_string.
Я попал между двумя подходами к написанию этого.Либо я выберу расширение PHP, либо напишу его как отдельный с нуля.
Преимущества использования расширения PHP состоят в том, что мне не придется создавать свой собственный токенизатор, парсер и т. Д. (Я полагаю, основываяэто о возможностях расширения XDebug).
Есть ли у кого-нибудь опыт написания расширений PHP каких-либо советов о том, как решить проблему?