JS_*_*ler 5 javascript security post csrf
伪造的POST请求可以由不受信任的网站构建,方法是创建表单并将其发布到目标站点.但是,此POST的原始内容将由浏览器编码为以下格式:
param1=value1¶m2=value2
Run Code Online (Sandbox Code Playgroud)
是否有可能不受信任的网站构造包含任意原始内容的伪造POST - 例如字符串化JSON?
{param1: value1, param2: value2}
Run Code Online (Sandbox Code Playgroud)
换句话说: 网站可以使浏览器将任意内容发布到第三方域吗?
HTML表单请求的POST主体始终是application/x-www-form-urlencoded,multipart/form-data或text/plain,因为它们反映了enctype属性的有效值.特别是text/plain一个可用于形成有效的JSON数据.因此,这里可以使用基于表单的CSRF,但是,它要求服务器接受它text/plain.
另外,基于XHR的CSRF可以用作XMLHttpRequest API允许发送任意POST数据.与此相关的唯一障碍是同源策略:只有两者具有相同的来源或者您的服务器支持跨源请求共享并允许资源共享,才能伪造这样的有效POST请求.
| 归档时间: |
|
| 查看次数: |
2760 次 |
| 最近记录: |