It is common to be faced with a web application where you have no credentials to log in. Very often, the application contains a wealth of functionality that can be accessed without authentication and which you can start working on to find a way in. Typically, the most promising initial targets are the more peripheral functions supporting the authentication logic, like user registration, password change and account recovery.
But occasionally you will face a narrower challenge. Suppose the web root of the server returns a simple login form, with no other functions and no links anywhere else. You can try to guess a username and password, but is that all?
Here are just a few of the things to think about in this restricted situation:
Looking for names, email addresses and other information in the HTML source.
Fingerprinting the web server software, application platform and any other identifiable technologies in use, and researching these for vulnerabilities.
Enumerating the content that is currently hidden, by brute forcing file and directory names, running Nikto, etc., and checking whether the content discovered is properly access controlled.
Checking search engines and Internet archives for references to the target.
Tampering with any hidden parameters and cookies in the login request that may affect server-side logic.
Checking for any disabled form elements that may still be processed if you re-enable them.
Adding common debug parameters (like test=true) to your request.
Inspecting the ASP.NET ViewState (if present).
Testing for username enumeration via informative failed login messages or other differences.
Testing susceptibility to brute force attacks.
If the application issues session tokens prior to login, testing these for predictability.
Testing all request parameters and headers for common code-level flaws like SQL injection, XSS, script inclusion, etc.
Probing for logic flaws within the login function, by omitting parameters, interfering with the request sequence if multi-stage, etc.
If the application is hosted in a shared environment, looking for co-hosted applications that you may be able to leverage to attack your target.
Any one of these attacks might give you a sufficient foot in the door to get past the login and into the protected functionality behind it. If they do not, then the login mechanism is a lot more robust than most are, and it is probably time to try to get hold of credentials, or move on to another target.




0 comments:
Post a Comment