Überleg doch mal kurz

Wenn ich nicht weis wie ein Angriff funktioniert, kann ich auch keine Gegenmaßnahmen ergreifen, ergo muss ich lernen wie der hack funktioniert um ihn zu kontern, das macht dich als Programmierer zu einem Hacker.

Anders herum hat ein Programmierer 50% der Zeit mit Bugs zu tun und Bugs sind die Quelle für Hacks ... kein Hack ohne Bug und das Debuggen erfodert einfach das wiederholtes provozieren des Bugs ... wenn man dann ein Potential erkennt damit unerwartetes Auszulösen, nennt man das einen Exploit

Black Hats sind halt die bösen, die Schwachstellen gezielt suchen und ausnutzen

White Hats suchen Entweder um etwas auf stabilität zu prüfen (aus Langeweile oder für Geld) oder es sind Programmierer die über Bugs stolpern die sich beim Debuggen als Exploit erweisen...

Das was du allgemein hin als Hacker kennst sind nur sog. Script-Kiddies .... die benutzen die Exploits die ein Black Hat zum nachbauen oder ein White-Hat zum Überprüfen der eigenen Systeme veröffentlicht hat um Schaden damit anzurichten oder sich zu bereichern ... Solche Leute brauchen ein Mindestmaß an Verständnis um die Exploits miteinander zu verbinden ... oder haben bekannte die sich damit auskennen aber nicht so viel kriminelle Energie aufbringen es anzuwenden