I am starting to have a look at HTML form security. So far my research revealed three main attack vectors:
- Cross-site request forgery (CSRF)
- Cross-site scripting (XSS)
- SQL Injection
My question is: Are there more attack vectors for HTML forms than these? I am interested in a list of possible attacks through HTML forms.
A form is identical to a URI or headers in terms of being an injection vector for user-supplied data. The general “don’t trust the client” rules apply as shown by the possibility of SQL injection, XSS, etc. So, forms that only rely on JavaScript validation without server-side validation are bad.
Problems more specific to forms include:
Workflow or “business logic” problems aren’t specific to forms, but they apply more often to the functionality often handled with them: