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.

808 Chapter 21 n A Web Application Hacker’s Methodology<br />

4.5.4 If <strong>the</strong> function uses a password hint, perform <strong>the</strong> same exercise to harvest<br />

a list of password hints, and identify any that appear to be easily<br />

guessable.<br />

4.5.5 Perform <strong>the</strong> same tests on any account-recovery challenges that you performed<br />

at <strong>the</strong> main login function to assess vulnerability to automated<br />

guessing attacks.<br />

4.5.6 If <strong>the</strong> function involves sending an e-mail to <strong>the</strong> user to complete <strong>the</strong><br />

recovery process, look for any weaknesses that may enable you to take<br />

control of o<strong>the</strong>r users’ accounts. Determine whe<strong>the</strong>r it is possible to<br />

control <strong>the</strong> address to which <strong>the</strong> e-mail is sent. If <strong>the</strong> message contains<br />

a unique recovery URL, obtain a number of messages using an e-mail<br />

address you control, and attempt to identify any patterns that may enable<br />

you to predict <strong>the</strong> URLs issued to o<strong>the</strong>r users. Apply <strong>the</strong> methodology<br />

described in step 5.3 to identify any predictable sequences.<br />

4.6 Test Any Remember Me Function<br />

4.6.1 If <strong>the</strong> main login function or its supporting logic contains a Remember<br />

Me function, activate this and review its effects. If this function allows <strong>the</strong><br />

user to log in on subsequent occasions without entering any credentials,<br />

you should review it closely for any vulnerabilities.<br />

4.6.2 Closely inspect all persistent cookies that are set when <strong>the</strong> Remember Me<br />

function is activated. Look for any data that identifies <strong>the</strong> user explicitly<br />

or appears to contain some predictable identifier of <strong>the</strong> user.<br />

4.6.3 Even where <strong>the</strong> data stored appears to be heavily encoded or obfuscated,<br />

review this closely, and compare <strong>the</strong> results of remembering several very<br />

similar usernames and/or passwords to identify any opportunities to<br />

reverse-engineer <strong>the</strong> original data. Apply <strong>the</strong> methodology described<br />

in step 5.2 to identify any meaningful data.<br />

4.6.4 Depending on your results, modify <strong>the</strong> contents of your cookie in suitable<br />

ways in an attempt to masquerade as o<strong>the</strong>r users of <strong>the</strong> <strong>application</strong>.<br />

4.7 Test Any Impersonation Function<br />

4.7.1 If <strong>the</strong> <strong>application</strong> contains any explicit functionality that allows one<br />

user to impersonate ano<strong>the</strong>r, review this closely for any vulnerabilities<br />

that may enable you to impersonate arbitrary users without proper<br />

authorization.<br />

4.7.2 Look for any user-supplied data that is used to determine <strong>the</strong> target<br />

of <strong>the</strong> impersonation. Attempt to manipulate this to impersonate

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

Saved successfully!

Ooh no, something went wrong!