尝试CSRF / XSRF测试我们的网站 - 我可以使用iframe进行POST吗?

时间:2017-01-04 09:46:50

标签: javascript jquery html iframe csrf

我正在尝试通过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>

2 个答案:

答案 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中的评论)。

相关问题