我正在尝试通过CSRF攻击测试我们网站中的特定POST
端点。
要做到这一点,我正在尝试使用iFrame。当我submit
表格整个页面重定向时。我的印象是iFrame 窗口应该只提交表单提交,而不是整个(root?)文档?
示例代码......
<html>
<body>
<p>
<h3>CSRF Test.</h3>
<a href="#" onClick="crossDomainPost();">Click Me</a>
</p>
<form id="csrfForm" action="http://www.someWebsite/postTest" method="POST">
<snipped>
</form>
<iframe name="someiframe"></iframe>
<script type="text/javascript">
function crossDomainPost() {
var iframe = $('#someiframe');
var form = $('#csrfForm');
iframe.add(form);
// Submit the form in the iframe.
form.submit();
}
</script>
</body>
</html>
答案 0 :(得分:2)
尝试将表单上的target
设置为iframe
<form id="csrfForm" action="url" method="POST" target="someiframe">
答案 1 :(得分:0)
另外,如果你想使用Javascript来处理帖子(因为表单可能总是想要定位iFrame ..
<-- No target attribute here -->
<form id="csrfForm" action="url" method="POST">
...
function crossDomainPost() {
var form = $('#csrfForm');
form[0].target = "someiframe";
form.submit();
}
(帽子提示:@charlietfl和他在OP中的评论)。