A Case Study of �Django ��Web Applications that are Secure by Default
Mohammed ALDOUB
@Voulnet
Web Security Essentials
Web Security Essentials
Problems in Applying Web Security
Bad Practices in Web Security
Bad Practices in Web Security
Security Features of Django
User Management
User Management
User Management
Clickjacking
Clickjacking Example
Image taken from ‘Busting Frame Busting’ research paper (found in references)
Cross Site Scripting (XSS)
Cross Site Scripting (XSS)
<script>alert(document.cookie)</script>
<?php
echo "Results for: " . $_GET["query"];
?>
Cross Site Scripting (XSS)
SQL Injection (SQLi)
string sql = “SELECT * FROM USERS WHERE name=‘” +
Request[‘username’] + “’”;
SQL Injection (SQLi)
SQL Injection (SQLi)
Cookies
Files
Cross Site Request Forgery (CSRF)
Cross Site Request Forgery (CSRF)
<form action="http://websiteA.com/deleteMyAccount.php” method=”post” >
</form>
Cross Site Request Forgery (CSRF)
<form action=”/deleteMyAccount.php” method=”post” >
<input type='hidden' name='csrfmiddlewaretoken' value='Aes4YiAfBQwCS8d4T1ngDAa6jJQiYDFs' />
</form>
E-mail Header Injection
E-mail Header Injection
Subject: Customer feedback
<spam message content, buy drugs, lose weight or something>
Final Remarks
References
Questions?