This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit

Top 10 2014-I1 Insecure Web Interface

Revision as of 01:45, 17 June 2014 by Craig Smith (talk | contribs)

Jump to: navigation, search
Back To The Internet of Things Top 10
Threat Agents Attack Vectors Security Weakness Technical Impacts Business Impacts
Application Specific Exploitability
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:

  1. Default passwords and possibly usernames to be changed during initial setup.
  2. Ensuring complex password construction.
  3. Ensuring web interface is not susceptible to XSS, SQLi or CSRF.
  4. Ensuring credentials are not exposed in internal or external network traffic.
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:' 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.