19.09.2017 Views

the-web-application-hackers-handbook

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 6 n Attacking Au<strong>the</strong>ntication 161<br />

contexts where an <strong>application</strong>’s user base is small, such as <strong>web</strong>-based VPNs for<br />

remote office workers.<br />

The HTTP-based au<strong>the</strong>ntication mechanisms (basic, digest, and Windowsintegrated)<br />

are rarely used on <strong>the</strong> Internet. They are much more commonly<br />

encountered in intranet environments where an organization’s internal users<br />

gain access to corporate <strong>application</strong>s by supplying <strong>the</strong>ir normal network or<br />

domain credentials. The <strong>application</strong> <strong>the</strong>n processes <strong>the</strong>se credentials using one<br />

of <strong>the</strong>se technologies.<br />

Third-party au<strong>the</strong>ntication services such as Microsoft Passport are occasionally<br />

encountered, but at <strong>the</strong> present time <strong>the</strong>y have not been adopted on any<br />

significant scale.<br />

Most of <strong>the</strong> vulnerabilities and attacks that arise in relation to au<strong>the</strong>ntication<br />

can be applied to any of <strong>the</strong> technologies mentioned. Because of <strong>the</strong> overwhelming<br />

dominance of HTML forms-based au<strong>the</strong>ntication, we will describe each<br />

specific vulnerability and attack in that context. Where relevant, we will point<br />

out any specific differences and attack methodologies that are relevant to <strong>the</strong><br />

o<strong>the</strong>r available technologies.<br />

Design Flaws in Au<strong>the</strong>ntication Mechanisms<br />

Au<strong>the</strong>ntication functionality is subject to more design weaknesses than any<br />

o<strong>the</strong>r security mechanism commonly employed in <strong>web</strong> <strong>application</strong>s. Even<br />

in <strong>the</strong> apparently simple, standard model where an <strong>application</strong> au<strong>the</strong>nticates<br />

users based on <strong>the</strong>ir username and password, shortcomings in <strong>the</strong> design of<br />

this model can leave <strong>the</strong> <strong>application</strong> highly vulnerable to unauthorized access.<br />

Bad Passwords<br />

Many <strong>web</strong> <strong>application</strong>s employ no or minimal controls over <strong>the</strong> quality of users’<br />

passwords. It is common to encounter <strong>application</strong>s that allow passwords that are:<br />

n Very short or blank<br />

n Common dictionary words or names<br />

n The same as <strong>the</strong> username<br />

n Still set to a default value<br />

Figure 6-1 shows an example of weak password quality rules. End users typically<br />

display little awareness of security issues. Hence, it is highly likely that<br />

an <strong>application</strong> that does not enforce strong password standards will contain a<br />

large number of user accounts with weak passwords set. An attacker can easily<br />

guess <strong>the</strong>se account passwords, granting him or her unauthorized access to <strong>the</strong><br />

<strong>application</strong>.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!