背景:
CSRF是被攻击者访问恶意网页后,恶意网页向存在漏洞的网站发送请求。
但恶意网页向漏洞的网站发送请求时,如果请求是post形式,只能发送content-type为application/x-www-form-urlencoded的请求,没法发送content-type为application/json的。
application/json的content-type只能通过js发送ajax请求来设置。
但js的ajax跨域又会限制application/json的,故需要在使用XMLHttpRequest时,按照CORS规范,自定义Header将调用一个预检请求。
如果业务系统的接口仅支持Application/json(比如我们将Content-Type改成text/plain或者application/x-www-form-urlencode时服务器会报错),我们就得出结论:无法进行CSRF攻击。
绕过方法:
https://blog.csdn.net/Lee_Natuo/article/details/83749809