Presumo che non ci sia un linguaggio preciso da conoscere o un bagaglio standard da portarsi dietro, ma ovviamente tra mille altre cose quantomeno si dovrebbe conoscere a menadito il linguaggio con cui è scritto il software preso di mira, ed avere una chiara idea di come scovare eventuali falle e soprattutto come sfruttarle.. Penso ci voglia un bel po di gavetta nel campo dello sviluppo software prima di riuscire nell'intento