gpt4 book ai didi

javascript - CSRF - 伪造的 POST 可以包含任意数据吗?

转载 作者:数据小太阳 更新时间:2023-10-29 05:50:34 26 4
gpt4 key购买 nike

伪造的 POST 请求可以由不受信任的网站通过创建表单并将其发布到目标站点来构造。但是,此 POST 的原始内容将由浏览器编码为以下格式:

param1=value1&param2=value2

不受信任的网站是否有可能构建包含任意原始内容(例如字符串化 JSON)的伪造 POST?

{param1: value1, param2: value2}

换句话说:网站能否使浏览器向第三方域发布任意内容?

最佳答案

HTML 表单请求的 POST 正文总是 application/x-www-form-urlencoded , multipart/form-data , 或 text/plain因为这些反射(reflect)了 enctype attribute 的有效值.特别是text/plain one can be used to form valid JSON data .因此,这里可以使用基于表单的 CSRF,但是,它需要服务器将其接受为 text/plain

此外,基于 XHR 的 CSRF 可用作 XMLHttpRequest API allows so send arbitrary POST data .唯一剩下的障碍是同源策略:只有当两者具有相同的源时,您的服务器才支持 Cross-Origin Request Sharing并允许资源共享,可以伪造此类有效的 POST 请求。

关于javascript - CSRF - 伪造的 POST 可以包含任意数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10788538/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com