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.

14 Chapter 1 n Web Application (In)security<br />

A fur<strong>the</strong>r way in which <strong>the</strong> security perimeter has partly moved to <strong>the</strong> client<br />

side is through <strong>the</strong> widespread use of e-mail as an extended au<strong>the</strong>ntication<br />

mechanism. A huge number of today’s <strong>application</strong>s contain “forgotten password”<br />

functions that allow an attacker to generate an account recovery e-mail to any<br />

registered address, without requiring any o<strong>the</strong>r user-specific information. This<br />

allows an attacker who compromises a user’s <strong>web</strong> mail account to easily escalate<br />

<strong>the</strong> attack and compromise <strong>the</strong> victim’s accounts on most of <strong>the</strong> <strong>web</strong> <strong>application</strong>s<br />

for which <strong>the</strong> victim is registered.<br />

The Future of Web Application Security<br />

Over a decade after <strong>the</strong>ir widespread adoption, <strong>web</strong> <strong>application</strong>s on <strong>the</strong> Internet<br />

today are still rife with vulnerabilities. Understanding of <strong>the</strong> security threats<br />

facing <strong>web</strong> <strong>application</strong>s, and effective ways of addressing <strong>the</strong>se, are still underdeveloped<br />

within <strong>the</strong> industry. There is currently little indication that <strong>the</strong> problem<br />

factors described in this chapter will disappear in <strong>the</strong> near future.<br />

That said, <strong>the</strong> details of <strong>the</strong> <strong>web</strong> <strong>application</strong> security landscape are not static.<br />

Even though old and well-understood vulnerabilities such as SQL injection<br />

continue to appear, <strong>the</strong>ir prevalence is gradually diminishing. Fur<strong>the</strong>rmore,<br />

<strong>the</strong> instances that remain are becoming more difficult to find and exploit. New<br />

research in <strong>the</strong>se areas is generally focused on developing advanced techniques<br />

for attacking more subtle manifestations of vulnerabilities that a few years ago<br />

could be easily detected and exploited using only a browser.<br />

A second prominent trend has been a gradual shift in attention from attacks<br />

against <strong>the</strong> server side of <strong>the</strong> <strong>application</strong> to those that target <strong>application</strong> users.<br />

The latter kind of attack still leverages defects within <strong>the</strong> <strong>application</strong> itself, but<br />

it generally involves some kind of interaction with ano<strong>the</strong>r user to compromise<br />

that user’s dealings with <strong>the</strong> vulnerable <strong>application</strong>. This is a trend that has<br />

been replicated in o<strong>the</strong>r areas of software security. As awareness of security<br />

threats matures, flaws in <strong>the</strong> server side are <strong>the</strong> first to be well understood and<br />

addressed, leaving <strong>the</strong> client side as a key battleground as <strong>the</strong> learning process<br />

continues. Of all <strong>the</strong> attacks described in this book, those against o<strong>the</strong>r users<br />

are evolving <strong>the</strong> most quickly, and <strong>the</strong>y have been <strong>the</strong> focus of most research<br />

in recent years.<br />

Various recent trends in technology have somewhat altered <strong>the</strong> landscape of<br />

<strong>web</strong> <strong>application</strong>s. Popular consciousness about <strong>the</strong>se trends exists by means of<br />

various ra<strong>the</strong>r misleading buzzwords, <strong>the</strong> most prominent of which are <strong>the</strong>se:<br />

n Web 2.0 — This term refers to <strong>the</strong> greater use of functionality that enables<br />

user-generated content and information sharing, and also <strong>the</strong> adoption<br />

of various technologies that broadly support this functionality, including<br />

asynchronous HTTP requests and cross-domain integration.

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

Saved successfully!

Ooh no, something went wrong!