2019-11-01——跨站脚本攻击(CSRF)

引言

攻击者通过诱使用户访问了一个页面,就可以以该用户的身份在第三方(正规)站点里执行一次操作。

比如一个网站删除一篇文章时URL为www.xxx/entry.do?m=delete&id=12345

那么在我们的恶意域中构造的一个html(www.a.com/csrf.html)

通过设置img标签

诱使用户在恶意网站访问该正规网站URL,实现了文章的删除

当然也不是说只有get请求才会有CSRF,post同样可以构造payload,使用js自动提交表单信息,对用户隐藏

浏览器的cookie策略

攻击者伪造的请求之所以能被服务器验证通过,是因为用户的浏览器成功发送了cokkie

cookie可以分为:“session cookie”“临时cookie”和“本地cookie”

本地cookie的有效期由服务器在set-cookie时设置,没过期时一直保存在本地。安全起间,IE浏览器一般会阻止本地cookie的发送,然而Firefox默认是允许的。

session cookie没有设置有效期,保存在浏览器进程的内存空间,浏览器关闭,就失效了。

P3P Header

P3P本来是用在类似广告等需要跨域访问的页面。如果网站返回的HTTP头中包含P3P头,则在某种程度上,将允许浏览器发送本地cookie,即使是IE中的