Scheiß auf Exploitcoding, das ist total unwichtig.
Solange du nicht einfach mit der Shell und Perl (o.ä.) einen simplen Bof angreifen kannst, brauchst du das nicht zu wissen.
Was du wissen solltest ist, wie Programme aufgebaut sind, wie der Arbeitsspeicher funktioniert, etc...
Das kannst du am besten unter Linux üben, denn unter Linux ist ein BOF um einiges einfacher.
Unter Win hast du Dinge wie den SEH etc. und soetwas ist deutlich schwieriger.
Wenn du dich etwas auskennst, wirst du von selber merken, wie soetwas funktioniert.
Bsp. Der Userlogin bei nem FTP-Server könnte anfällig für nen FMS oder HeapOverflow sein (die Chance ist gleich Null, aber ist ist möglich ^^).