¿Los desarrolladores necesariamente hacen buenos probadores de penetración & viceversa?
La razón por la que lo pregunto es que me parece que tengo una habilidad mucho mayor para descubrir cómo funciona una pieza de software existente y puedo manipularla que diseñar y desarrollar cosas por mí mismo.
Puedo programar y diría que tengo un nivel intermedio de experiencia pero me cuesta mucho pasar de la idea al proyecto terminado. Estoy mucho más motivado y siento que estoy mucho más en un estado mental de flow al intentar Para hacer ingeniería inversa, está funcionando algo que tengo delante de mí.
Creo que es una idea similar a la de un escritor o pintor que habla sobre la ansiedad de mirar una página en blanco. Siento que cuando estoy trabajando hacia atrás desde una pieza de software existente, ya existen restricciones y contexto que me dan algo con lo que me aferro mentalmente. Mientras que cuando se desarrolla un software en una página en blanco y todas las formas posibles de diseñar e implementar algo, mi mente da vueltas y analiza todas las posibilidades.
He visto esto discutido en los círculos de seguridad como constructores contra interruptores. La idea de que algunas personas están más conectadas para construir cosas con los rasgos que favorecen eso y otras para señalar qué está mal con eso.
En su experiencia, ¿es esto algo real o simplemente una falsa dicotomía?
¿Qué tan esenciales son las habilidades de desarrollo para las pruebas de penetración?
Definitivamente disfruto mucho aprender cómo se implementan las cosas y no soy tímido de leer la fuente para averiguarlo. Me gusta escribir scripts más pequeños y herramientas que tienen un propósito específico, pero están llenos de proyectos de programación con muchas abstracciones de arquitectura que a menudo termino perdiendo interés e ímpetu.
¿Cuánto debo dejar que esto me moleste si mi objetivo es hacer pruebas de pluma en lugar de una posición de desarrollo real?