一.CSRF原理
跨站请求伪造又被为one-clickattack,通常缩写为CSRF或者XSRF
是一种挟持用户在当前已经登录的web应用程序上执行非本意的操作的攻击方式
二.CSRF的分类
(1)POST
(2)GET
三.CSRF的条件
1.受害者登录了信任的a网站,再本地生成cookie。
2.在不登出的状态下,受害者访问了攻击者构建的网站,并信任。
3.不能更换浏览器访问,使用同一浏览器访问。(不同浏览器cookie不同)
四.CSRF利用过程(get型和POST型)?
(1)GET型
第一步:首先攻击者我登录这个页面,发现修改密码,没有验证过程,存在CSPF漏洞。于是复制了自己的URL。
第二步:我将自己的URL的IP地址修改为用户的IP地址,由于是get型,在url中账户和密码参数修改一下,将url伪装,然后发送给用户user。
第三步:用户user点击这个链接,跳转这个网页,请求包携带用户的cookie,访问服务器,服务器收到后,认为是本人希望进行的操作,于是执行,返回页面。至此密码修改成功。
(2)POST型
如果像GET形式,用url发送给用户,你会发现,他只会是一个url,没有参数传递,就无法修改密码。
第一步:攻击者对web页面进行攻击,在修改密码的时候,发现不用验证,发现时POST参数。
第二步:攻击者自己写了一篇攻击的web页面,上面就是web的修改,用于传参。
第三步:攻击者将这个攻击的web页面的链接发送给受害者。
第四步:受害者点击链接,进入页面,此时攻击者的页面自动提交,携带者受害者的cookie前往服务器。服务器认为是本人的操作,于是修改返回响应。
五.CSRF的危害
1.篡改目标网站上用户的信息。
2.盗取和泄露用户的隐私信息。
3.传播CSRF蠕虫病毒
六.CSRF的防护
1.验证码
2.在请求的地址中加入token验证
3.验证http的请求行中的referer参数。