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
Germany/Projekte/Top 10-2013-A7-Fehlerhafte Autorisierung auf Anwendungsebene
NOTE: THIS IS NOT THE LATEST VERSION. Please visit the OWASP Top 10 project page to find the latest edition.
← A6-Verlust der Vertraulichkeit sensibler Daten | A8-Cross-Site Request Forgery (CSRF) → |
Bedrohungsquellen | Angriffsvektoren | Schwachstellen | Technische Auswirkung | Auswirkung auf das Unternehmen | |
---|---|---|---|---|---|
Anwendungs- spezifisch |
Ausnutzbarkeit EINFACH |
Verbreitung HÄUFIG |
Auffindbarkeit DURCHSCHNITTLICH |
Auswirkung MITTEL |
Application / Business Specific |
Anyone with network access can send your application a request. Could anonymous users access private functionality or regular users a privileged function? |
Attacker, who is an authorized system user, simply changes the URL or a parameter to a privileged function. Is access granted? Anonymous users could access private functions that aren’t protected. |
Applications do not always protect application functions properly. Sometimes, function level protection is managed via configuration, and the system is misconfigured. Sometimes, developers must include the proper code checks, and they forget. Detecting such flaws is easy. The hardest part is identifying which pages (URLs) or functions exist to attack. |
Such flaws allow attackers to access unauthorized functionality. Administrative functions are key targets for this type of attack. |
Cbusiness value of the exposed functions and the data they process. Also consider the impact to your reputation if this vulnerability became onsider the public. |
Bin ich durch 'Fehlerhafte Autorisierung auf Anwendungsebene' verwundbar?
The best way to find out if an application has failed to properly restrict function level access is to verify every application function:
Using a proxy, browse your application with a privileged role. Then revisit restricted pages using a less privileged role. If the server responses are alike, you're probably vulnerable. Some testing proxies directly support this type of analysis. You can also check the access control implementation in the code. Try following a single privileged request through the code and verifying the authorization pattern. Then search the codebase to find where that pattern is not being followed. Automated tools are unlikely to find these problems. |
Wie kann ich 'Fehlerhafte Autorisierung auf Anwendungsebene' verhindern?
Your application should have a consistent and easy to analyze authorization module that is invoked from all of your business functions. Frequently, such protection is provided by one or more components external to the application code.
NOTE: Most web applications don’t display links and buttons to unauthorized functions, but this “presentation layer access control” doesn’t actually provide protection. You must also implement checks in the controller or business logic.
|
Mögliche Angriffsszenarien
Scenario #1: The attacker simply force browses to target URLs. The following URLs require authentication. Admin rights are also required for access to the admin_getappInfo page.
http://example.com/app/getappInfo
http://example.com/app/admin_getappInfo
If an unauthenticated user can access either page, that’s a flaw. If an authenticated, non-admin, user is allowed to access the admin_getappInfo page, this is also a flaw, and may lead the attacker to more improperly protected admin pages. Scenario #2: A page provides an 'action' parameter to specify the function being invoked, and different actions require different roles. If these roles aren’t enforced, that’s a flaw. |
Referenzen
OWASP
For additional access control requirements, see the ASVS requirements area for Access Control (V4). Andere |
← A6-Verlust der Vertraulichkeit sensibler Daten | A8-Cross-Site Request Forgery (CSRF) → |