The Issues, One at a Time
Login forms submitted via GET
Credentials end up in the URL - browser history, server access logs, and referrer headers all capture them in plaintext.
1<!-- Wrong -->
2<form action="/login" method="GET">
3
4<!-- Correct -->
5<form action="/login" method="POST">Forms submitting to HTTP from an HTTPS page
Even if the page itself is secure, a form action pointing at http://sends the submission in plaintext. Audit every form's action attribute, not just the page URL itself.
Credentials submitted cross-domain
A login form posting to a third-party domain (a legacy integration, an old vendor endpoint) sends credentials somewhere your own security controls don't cover. If it's not your domain and not a trusted, audited identity provider, treat it as a finding to investigate.
File uploads with no MIME type restriction
1<input type="file" accept=".jpg,.jpeg,.png,.pdf" />The acceptattribute is a UX hint only - the actual security control has to be server-side validation of the file's real content type, not just its extension or the client-supplied MIME type.
Password fields with autocomplete disabled
1<!-- Avoid -->
2<input type="password" autocomplete="off" />
3
4<!-- Preferred -->
5<input type="password" autocomplete="current-password" />How Scanverra Detects These
Scanverra's security scan parses every form on your site and checks its method, action target, autocomplete attributes, and file-input restrictions, flagging each specific issue found - from a critical (credentials over HTTP) down to a low-severity note (autocomplete disabled) - rather than a single undifferentiated "form issues" warning.