Hack the Stack: Using Snort and Ethereal to Master the 8 Layers of an Insecure Network

Now that we ve discussed some of the insecure protocols that are frequently used at the application layer, let s look at how these protocols and their software can be attacked.This section explores various methods that can be used to exploit insecurities in application layer software and protocols.
Web applications are one of the most vulnerable points on an organization s network. Most Web sites contain a combination of commercial applications and open-source scripts, making it very difficult to keep everything up-to-date with security patches. Even more problematic are custom Web applications, which are rarely designed with security in mind or audited for vulnerabilities. As a result of these insecurities, Web applications are highly targeted by attackers.
Web application vulnerabilities can be classified into a number of categories, each explored below.The majority of these vulnerabilities, however, are caused by a lack of proper input validation by the application before processing user-supplied data.This can allow attackers to disclose information about the site, steal information from backend databases, or execute arbitrary code on the Web server. Below are some of the more common problems that can occur from insufficient input validation and sanitation.
Many Web applications rely on backend databases for information storage and retrieval. Sometimes a script will perform a database query using input supplied from a Web page, without first verifying that the input does not contain any escape characters. Consider the following example, which can be used to log a user on to...