Durch die hohe Komplexität moderner Web-Applikationen gibt es immer mehr Möglichkeiten für Angreifer, den Benutzern zu schaden oder sogar in die Systeme einzudringen. Die OWASP Top 10 2013 des Open Web Application Security Project (OWASP) listen die zehn gefährlichsten Möglichkeiten auf, eine Web-Applikation anzugreifen.
In diesem Vortrag werden die wichtigsten Szenarien aus den OWASP Top 10 2013 detailliert diskutiert. Dabei wird jede Angriffsmöglichkeit zuerst an einem praktischem Beispiel erläutert, dass zeigt wie ein Angriff aussehen könnte. Danach wird am Beispiel des Python Web Frameworks Django demonstriert, wie eine sichere Implementation aussieht.
Jedes Beispiel sollte sich einfach auf andere Programmiersprachen und Frameworks übertragen lassen. Daher richtet sich der Vortrag nicht nur an Nutzer von Django, sondern an alle, die Web Applikationen entwickeln.
Abschließend werden Werkzeuge vorgestellt, die zur Suche nach Schwachstellen in Web-Applikationen genutzt werden können.
9. OWASP Top 10
1. Injection
2. Broken Authentication
and Session Management
10. OWASP Top 10
1. Injection
2. Broken Authentication
and Session Management
3. Cross-Site Scripting (XSS)
11. OWASP Top 10
1. Injection
2. Broken Authentication
and Session Management
3. Cross-Site Scripting (XSS)
4. Insecure Direct Object
References
12. OWASP Top 10
1. Injection
2. Broken Authentication
and Session Management
3. Cross-Site Scripting (XSS)
4. Insecure Direct Object
References
5. Security Misconfiguration
13. OWASP Top 10
1. Injection
2. Broken Authentication
and Session Management
3. Cross-Site Scripting (XSS)
4. Insecure Direct Object
References
5. Security Misconfiguration
6. Sensitive Data Exposure
14. OWASP Top 10
1. Injection
2. Broken Authentication
and Session Management
3. Cross-Site Scripting (XSS)
4. Insecure Direct Object
References
5. Security Misconfiguration
6. Sensitive Data Exposure
7. Missing Function Level
Access Control
15. OWASP Top 10
1. Injection
2. Broken Authentication
and Session Management
3. Cross-Site Scripting (XSS)
4. Insecure Direct Object
References
5. Security Misconfiguration
6. Sensitive Data Exposure
7. Missing Function Level
Access Control
8. Cross-Site Request
Forgery (CSRF)
16. OWASP Top 10
1. Injection
2. Broken Authentication
and Session Management
3. Cross-Site Scripting (XSS)
4. Insecure Direct Object
References
5. Security Misconfiguration
6. Sensitive Data Exposure
7. Missing Function Level
Access Control
8. Cross-Site Request
Forgery (CSRF)
9. Using Components with
Known Vulnerabilities
17. OWASP Top 10
1. Injection
2. Broken Authentication
and Session Management
3. Cross-Site Scripting (XSS)
4. Insecure Direct Object
References
5. Security Misconfiguration
6. Sensitive Data Exposure
7. Missing Function Level
Access Control
8. Cross-Site Request
Forgery (CSRF)
9. Using Components with
Known Vulnerabilities
10.Unvalidated Redirects
and Forwards
18. SQL Injection
>>> cmd = "UPDATE animals SET
name='%s' WHERE id='%s'" % (name, id)
>>> cursor.execute(cmd)
23. Cross-Site Scripting
(XSS)
<h3>Preparation</h3>
{{ recipe.preparation }}
!
<script>alert('The best recipe in the world!')</script>
Heat the water in the pot to 100 °C.
!
<p><script>alert('The best recipe in the
<world!')</script></p>
<p>Heat the water in the pot to 100 °C.</p>
26. Sensitive Data Exposure
>>> from django.contrib.auth.models import User
>>> User.objects.get(pk=1).password
u'pbkdf2_sha256$10000$sDN75YuuoUWi$Ua/
H364jPAPTPBiAyJ1fc0uB4ClzQD5yGFisYrxCo40='