19.09.2017 Views

the-web-application-hackers-handbook

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 4 n Mapping <strong>the</strong> Application 111<br />

Mapping <strong>the</strong> Attack Surface<br />

The final stage of <strong>the</strong> mapping process is to identify <strong>the</strong> various attack surfaces<br />

exposed by <strong>the</strong> <strong>application</strong> and <strong>the</strong> potential vulnerabilities that are commonly<br />

associated with each one. The following is a rough guide to some key types<br />

of behavior and functionality that you may identify, and <strong>the</strong> kinds of vulnerabilities<br />

that are most commonly found within each one. The remainder of this<br />

book is concerned with <strong>the</strong> practical details of how you can detect and exploit<br />

each of <strong>the</strong>se problems:<br />

n Client-side validation — Checks may not be replicated on <strong>the</strong> server<br />

n Database interaction — SQL injection<br />

n File uploading and downloading — Path traversal vulnerabilities, stored<br />

cross-site scripting<br />

n Display of user-supplied data — Cross-site scripting<br />

n Dynamic redirects — Redirection and header injection attacks<br />

n Social networking features — username enumeration, stored cross-site<br />

scripting<br />

n Login — Username enumeration, weak passwords, ability to use brute<br />

force<br />

n Multistage login — Logic flaws<br />

n Session state — Predictable tokens, insecure handling of tokens<br />

n Access controls — Horizontal and vertical privilege escalation<br />

n User impersonation functions — Privilege escalation<br />

n Use of cleartext communications — Session hijacking, capture of credentials<br />

and o<strong>the</strong>r sensitive data<br />

n Off-site links — Leakage of query string parameters in <strong>the</strong> Referer<br />

header<br />

n Interfaces to external systems — Shortcuts in <strong>the</strong> handling of sessions<br />

and/or access controls<br />

n Error messages — Information leakage<br />

n E-mail interaction — E-mail and/or command injection<br />

n Native code components or interaction — Buffer overflows<br />

n Use of third-party <strong>application</strong> components — Known vulnerabilities<br />

n Identifiable <strong>web</strong> server software — Common configuration weaknesses,<br />

known software bugs

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

Saved successfully!

Ooh no, something went wrong!