Developer's Guide to Web Application Security

Hackers could be best described as "super coders." Like those in any other profession, hackers have distinct methodologies and processes they follow prior to any given attack. Hackers set goals, unite, and work to achieve their goals both individually and as a team. In this chapter, we cover five distinct phases to hacking. After an intruder has selected his victim, an attack map must be created. This attack map will aid the hacker in understanding exactly (or as close to exactly as he actually needs to be) how his victim's networks, systems, and applications interoperate. After this attack map has been established, the intruder will then assemble an execution plan. The execution plan will assist the hacker in discovering vulnerabilities within the victim's system, allowing for the most success in the intrusion attempt. At this point, the hacker will most likely do as much research as needed, using common defect-and vulnerability-tracking databases. As you can imagine, every little bit helps a hacker when it comes to knowing his victim's potential weaknesses. Knowing that hackers are searching for common vulnerabilities in every aspect possible means that as a developer, or even a network administrator, we should be using every tool possible to protect the work we do.
Chances are good that the code you are writing is the same code hackers may have once written themselves and are now hacking. That is part of what makes them so good at what they do; they have done your job and may...