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 4 n Mapping <strong>the</strong> Application 91<br />

6. Perform <strong>the</strong> same queries on o<strong>the</strong>r domain names belonging to <strong>the</strong> same<br />

organization, which may contain useful information about <strong>the</strong> <strong>application</strong><br />

you are targeting.<br />

If your research identifies old content and functionality that is no longer<br />

linked to within <strong>the</strong> main <strong>application</strong>, it may still be present and usable. The<br />

old functionality may contain vulnerabilities that do not exist elsewhere<br />

within <strong>the</strong> <strong>application</strong>.<br />

Even where old content has been removed from <strong>the</strong> live <strong>application</strong>, <strong>the</strong><br />

content obtained from a search engine cache or <strong>web</strong> archive may contain<br />

references to or clues about o<strong>the</strong>r functionality that is still present within <strong>the</strong><br />

live <strong>application</strong> and that can be used to attack it.<br />

Ano<strong>the</strong>r public source of useful information about <strong>the</strong> target <strong>application</strong> is<br />

any posts that developers and o<strong>the</strong>rs have made to Internet forums. There are<br />

numerous such forums in which software designers and programmers ask<br />

and answer technical questions. Often, items posted to <strong>the</strong>se forums contain<br />

information about an <strong>application</strong> that is of direct benefit to an attacker, including<br />

<strong>the</strong> technologies in use, <strong>the</strong> functionality implemented, problems encountered<br />

during development, known security bugs, configuration and log files submitted<br />

to assist in troubleshooting, and even extracts of source code.<br />

HACK STEPS<br />

1. Compile a list containing every name and e-mail address you can discover<br />

relating to <strong>the</strong> target <strong>application</strong> and its development. This should include<br />

any known developers, names found within HTML source code, names found<br />

in <strong>the</strong> contact information section of <strong>the</strong> main company <strong>web</strong>site, and any<br />

names disclosed within <strong>the</strong> <strong>application</strong> itself, such as administrative staff.<br />

2. Using <strong>the</strong> search techniques described previously, search for each identified<br />

name to find any questions and answers <strong>the</strong>y have posted to Internet<br />

forums. Review any information found for clues about functionality or vulnerabilities<br />

within <strong>the</strong> target <strong>application</strong>.<br />

Leveraging <strong>the</strong> Web Server<br />

Vulnerabilities may exist at <strong>the</strong> <strong>web</strong> server layer that enable you to discover<br />

content and functionality that are not linked within <strong>the</strong> <strong>web</strong> <strong>application</strong> itself.<br />

For example, bugs within <strong>web</strong> server software can allow an attacker to list <strong>the</strong><br />

contents of directories or obtain <strong>the</strong> raw source for dynamic server-executable<br />

pages. See Chapter 18 for some examples of <strong>the</strong>se vulnerabilities and ways in<br />

which you can identify <strong>the</strong>m. If such a bug exists, you may be able to exploit it to<br />

directly obtain a listing of all pages and o<strong>the</strong>r resources within <strong>the</strong> <strong>application</strong>.

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

Saved successfully!

Ooh no, something went wrong!