Für meine Abschlussarbeit habe ich ein Programm entwickelt, das mithilfe vorbereiteter Anweisungen automatisch Schwachstellen in der SQL-Injection erkennt und vorschlägt. Speziell die mysqli-Erweiterung für PHP. Meine Frage für die SO-Community lautet: Was wäre Ihr bevorzugter Ansatz, um SQL im PHP-Quellcode zu erkennen?Beste Vorgehensweise zum Parsen für SQL in PHP-Dateien?
Ich verwendete eine enum mit der SQL keywords (SELECT, INSERT, ...)
und im Grunde jeder Zeile geparst, Iterieren über die Enumeration, um festzustellen, ob SQL vorhanden war. Außerdem musste ich sicherstellen, dass der Parser nicht irrtümlicherweise HTML entdeckte (zum Beispiel < \ select>).
Für mich funktionierte diese Lösung gut, aber jetzt habe ich ein wenig mehr Zeit in meinen Händen und habe darüber nachgedacht, den Code zu refaktorieren, um eine elegantere (und effizientere) Lösung zu verwenden. Bitte beschränken Sie Ihre Lösungen auf C# als das ist, was ich mein Programm schrieb.