How Hackers Exploit Weaknesses