Web初探索(四)

复述本周任务


时间:2020.5.18——2020.5.23
内容:

  • 学习CSRF(跨站请求伪造)
  • 完成dvwa第三个模块CSRF
  • 继续学习php以及HTML

学习CSRF(跨站请求伪造)


什么是CSRF

在这里插入图片描述
我的理解就是:
我给一家超市说:本周所有的账单,只要报了我的名字就记在我的账上;但是有一次我去了另一家店(恶意),这家店用某种方式知道了我的名字(cookie),然后他就去那家店报我名免费消费了。

如何实现CSRF

⭐ 贴一段百度上的一个比较形象的回答:
附链接1:CSRF攻击与防御(写得非常好)
附链接2:Cross-Site Request Forgeries
附链接3:CSRF原理简介
如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。

  1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
  2. 在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
  3. 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
  4. 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
  5. 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下 携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。

如何检测CSRF漏洞

  1. 最简单的方法:抓取一个正常请求的数据包,去掉Referer字段 后再Forward,如果该提交有响应,则基本上可以确定存在CSRF漏洞。
  2. 工具:CSRFTester,CSRF Request Builder等。

如何防御CSRF漏洞

  1. 检查Referer字段
    http头中的Referer字段(用以标明请求来源于哪个地址)。
    在处理敏感数据请求时,通常来说,Referer字段应和请求的地址位于同一域名下。而如果是CSRF攻击传来的请求,Referer字段会是包含恶意网址的地址。
    局限性:因其完全依赖浏览器发送正确的Referer字段。虽然http协议无法保证浏览器没有安全漏洞影响到此字段;并且也存在攻击者攻击某些浏览器&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值