场景:
数据以json格式传输,没有添加token,没有限制refer,但是服务器验证了Content-Type是否为application/json
利用:
通过Flash跨域构造POC,Flash的Header存在一个黑名单,黑名单中的Header不允许设置,比如Referer,但是Content-Type不在黑名单中;
通过307重定向带着Content-Type和Postdata进行跳转。
将read.html、test.swf文件、test.php放在自己的服务器下,并构造如下请求:
https://example.com/read.html?jsonData={"test":1}&php_url=https://example.com/test.php&endpoint=https://sometargethost.com/endpoint
传输的数据满足要求:
执行流程:
参考(Poc下载地址):
https://github.com/sp1d3r/swf_json_csrf