Tenemos un conjunto de aplicaciones web internas de Python / Django que están bastante bien probadas en cuanto a funcionalidad, pero de vez en cuando descubrimos vulnerabilidades y, específicamente, lugares donde pueden ocurrir SQL y otros tipos de inyecciones. Actualmente, este es un proceso muy manual que requiere el conocimiento del sistema (caja blanca).
Pero, ¿hay alguna manera de realizar una prueba de inyección SQL automatizada de todos nuestros puntos finales de API de las aplicaciones que se están probando?
Supongo que algunas de las cosas que no entiendo ahora son: ¿deberíamos escribir la lógica de estas pruebas y ejemplos para ellas y usarlas, por ejemplo, Python unittest
framework, o hay una manera de especificar puntos finales y posibles parámetros y deje que algún marco de prueba de seguridad genere las entradas con formato incorrecto para probar las inyecciones de SQL ( sqlmap
?) (la pregunta es en cierto sentido si sería una prueba basada en el Ejemplo o Pruebas basadas en la propiedad )