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
Difference between revisions of "Germany/Projekte/Top 10 fuer Entwickler-2013/A1-Injection"
(Created page with "{{Top_10_2010:TopTemplate|usenext=2010NextLink|next=A2-Cross-Site Scripting (XSS)|useprev=2010PrevLink|prev=Main}} = Testseite in Bearbeitung (BAUSTELLE!!) = ====die Überschr...") |
|||
Line 1: | Line 1: | ||
− | {{Top_10_2010:TopTemplate|usenext=2010NextLink|next=A2 | + | {{Top_10_2010:TopTemplate|usenext=2010NextLink|next=Germany/Projekte/Top 10 fuer Entwickler/A2 Cross-Site Scripting (XSS)|useprev=Top 10 fuer Entwickler|prev=Main}} |
= Testseite in Bearbeitung (BAUSTELLE!!) = | = Testseite in Bearbeitung (BAUSTELLE!!) = | ||
====die Überschriften kommen von den Templates der englischen Top 10, Tbd!!==== | ====die Überschriften kommen von den Templates der englischen Top 10, Tbd!!==== | ||
Line 19: | Line 19: | ||
{{Top_10_2010:SummaryTableEndTemplate}} | {{Top_10_2010:SummaryTableEndTemplate}} | ||
− | {{ | + | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|number=1|risk=1}} |
<!-- Temporär Template 3, eigentlich würde dioe Überschrift vom Template 3 in Deutsch passen!! Vermutlich brauchen wie hier ein entsprechenendes Template in Deutsch--> | <!-- Temporär Template 3, eigentlich würde dioe Überschrift vom Template 3 in Deutsch passen!! Vermutlich brauchen wie hier ein entsprechenendes Template in Deutsch--> | ||
=== Mögliche Angriffsszenarien === <!-- >>> vorübergehend!!! --> | === Mögliche Angriffsszenarien === <!-- >>> vorübergehend!!! --> |
Revision as of 15:48, 31 January 2013
NOTE: THIS IS NOT THE LATEST VERSION. Please visit the OWASP Top 10 project page to find the latest edition.
Template:Top 10 fuer Entwickler | Top 10 Risks |
Germany/Projekte/Top 10 fuer Entwickler/A2 Cross-Site Scripting (XSS) → |
Testseite in Bearbeitung (BAUSTELLE!!)
die Überschriften kommen von den Templates der englischen Top 10, Tbd!!
A1 Befehle unterschieben (Injection)
Threat Agents | Attack Vectors | Security Weakness | Technical Impacts | Business Impacts | |
---|---|---|---|---|---|
Application Specific | Ausnutzbarkeit EINFACH |
Verbreitung HAÜFIG |
Auffindbarkeit DURCHSCHNITTLICH |
Auiswirkung SCHWERWIEGEND |
Application / Business Specific |
Jeder, der Daten, die nicht aus-reichend geprüft werden, an das System übermitteln kann: externe und interne Nutzer sowie Administratoren. | Der Angreifer sen-det einfache text-basierte Angriffe, die die Syntax des Zielinterpreters missbrauchen. Fast jede Datenquelle kann einen Injec-tion-Vektor darstel-len, einschließlich interner Quellen. | Injection-Schwachstellen tauchen auf, wenn eine Anwendung nicht vertrauens-würdige Daten an einen Interpreter weiterleitet. Injection Schwachstellen sind weit verbreitet, besonders in altem Code; sie finden sich in SQL-, LDAP- und XPath-Anfragen, Systembefehlen, Programm-parametern usw. Injection-Schwachstellen lassen sich durch Code-Prüfungen einfach entdecken, schwieriger durch externe Tests. Scanner und Fuzzer können hier unterstützen. | Injection kann zu Datenverlust oder -verfälschung, Fehlen von Zurechenbarkeit oder Zugangssperre führen. Unter Umständen kann es zu einer vollständigen Systemübernahme kommen. | Der Wert betroffener Daten für das Unternehmen sowie die Laufzeitumgebung des Interpreters sind zu berücksichtigen. Daten können entwendet, verändert, gelöscht werden. Kann Image-Schaden enstehen? |
Am I Vulnerable To 'Injection'?
Mögliche AngriffsszenarienDie Anwendung nutzt ungeprüfte Eingabedaten bei der Konstruktion der verwundbaren SQL-Abfrage: String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") +"'";
Der Angreifer verändert den 'id'-Parameter im Browser und übermittelt: ' or '1'='1. Hierdurch wird die Logik der Anfrage so verändert, dass alle Datensätze der Tabelle accounts ohne Einschränkung auf den Kunden zurückgegeben werden. http://example.com/app/accountView?id=' or '1'='1
Im schlimmsten Fall nutzt der Angreifer die Schwachstelle, um spezielle Funktionalitäten der Datenbank zu nutzen, die ihm ermöglichen, die Datenbank und möglicherweise den Server der Datenbank zu übernehmen. |
How Do I Prevent 'Injection'?
Wie kann ich Injektion verhindern?Preventing injection requires keeping untrusted data separate from commands and queries.
stored procedures, that appear parameterized, but may still allow injection under the hood.
applications require special characters in their input. OWASP's ESAPI has an extensible library of |
Example Attack Scenarios
The application uses untrusted data in the construction of the following vulnerable SQL call: String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id")
+"'";
The attacker modifies the 'id' parameter in their browser to send: ' or '1'='1. This changes the meaning of the query to return all the records from the accounts database, instead of only the intended customer's. http://example.com/app/accountView?id=' or
'1'='1
In the worst case, the attacker uses this weakness to invoke special stored procedures in the database, allowing a complete takeover of the database host. |
References
OWASP
External |
← Main | Top 10 Risks |
[[Top_10_2010-A2-Cross-Site Scripting
(XSS)|A2-Cross-Site Scripting (XSS) →]] |