Open annidy opened 1 month ago
跨站请求伪造
是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作(如发起POST、GET请求)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去执行。这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求是发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。
防御方式:
跨站脚本攻击(Cross-site scripting,XSS)是一种安全漏洞。 攻击者可以利用这种漏洞在网站上注入恶意的客户端代码。 当受害者运行这些恶意代码时,攻击者就可以突破网站的访问限制并冒充受害者。
浏览器同源策略在一定程度上可以防御上面2种攻击。即在网页a.com上,发起b.com的jsonp请求前,浏览器会先发起一个CORS 预检请求,并带上Origin源站,b服务器需要判断此源站是否是受信网站
--- a.com html --- Host: b.com OPTIONS /resource/foo Access-Control-Request-Method: DELETE Access-Control-Request-Headers: origin, x-requested-with Origin: https://a.com --- b.com/resource/foo --- HTTP/1.1 200 OK Content-Length: 0 Connection: keep-alive Access-Control-Allow-Origin: https://a.com Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE Access-Control-Max-Age: 86400
浏览器对简单请求GET不预检
1. CORF
跨站请求伪造
是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作(如发起POST、GET请求)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去执行。这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求是发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。
防御方式:
2. XSS
跨站脚本攻击(Cross-site scripting,XSS)是一种安全漏洞。 攻击者可以利用这种漏洞在网站上注入恶意的客户端代码。 当受害者运行这些恶意代码时,攻击者就可以突破网站的访问限制并冒充受害者。
防御方式:
CORS
浏览器同源策略在一定程度上可以防御上面2种攻击。即在网页a.com上,发起b.com的jsonp请求前,浏览器会先发起一个CORS 预检请求,并带上Origin源站,b服务器需要判断此源站是否是受信网站
浏览器对简单请求GET不预检