This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Top 10 2014-I1 Insecure Web Interface
|Threat Agents||Attack Vectors||Security Weakness||Technical Impacts||Business Impacts|
|Application / Business Specific|
|Consider anyone who has access to the web interface including external users, internal users, and administrators.||Attacker uses default, weak or credentials passed in the clear to access the web interface. Depending on setup, attack could come from external or internal users.||An Insecure Web Interface can occur when default or easy to guess credentials are used. An Insecure Web Interface is very prevalent, particularly in early devices. They are often found in devices which require some initial setup or have features that can only be accessed via the web interface. Issues with the web interface are easy to discover when examining the interface manually and frequently easy to discover via testing. Scanners can help find issues as well.||Insecure Web Interfaces can result in data loss or corruption, lack of accountability, or denial of access and can lead to complete device takeover.||Consider the business value of the affected data and the platform itself. All data could be stolen, modified, or deleted. Could your users be harmed?|
Am I Vulnerable To 'Injection'?
The best way to find out if you have an Insecure Web Interface is to verify that default credentials must be changed,etc. For administrative credentials, this means forcing a password change on initial use, etc.
Simply trying simple passwords is a fast and accurate way to see if the web interface is secure. Manual testing can help a security analyst find instances where weak passwords are used, etc. Penetration testers can validate these issues by running brute-force attacks against no administrative user accounts,etc.
Automated dynamic scanning which exercises the application may provide insight into whether some exploitable injection flaws exist. Scanners cannot always reach interpreters and have difficulty detecting whether an attack was successful. Poor error handling makes injection flaws easier to discover
How Do I Prevent 'Injection'?
Ensuring a secure web interface requires:
Example Attack Scenarios
Scenario #1: The web interface uses easily guessable default usernames and passwords.
Username = Admin; Password = password
Scenario #2: Similarly, an application’s blind trust in frameworks may result in queries that are still vulnerable, (e.g., Hibernate Query Language (HQL)):
Query HQLQuery = session.createQuery(“FROM accounts WHERE custID='“ + request.getParameter("id") + "'");
In both cases, the attacker modifies the ‘id’ parameter value in her browser to send: ' or '1'='1. For example:
http://example.com/app/accountView?id=' or '1'='1
This changes the meaning of both queries to return all the records from the accounts table. More dangerous attacks could modify data or even invoke stored procedures.