CSRF 跨站请求伪造

CSRF 跨站请求伪造

一、CSRF原理

跨站请求伪造(Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。

img

CSRF漏洞实质:服务器无法准确判断当前请求是否是合法用户的自定义操作

个人理解有两点是造成csrf的主要原因,一是cookie的时效性默认是一次会话,浏览器不关闭,用户登录的cookie不会过期。二是浏览器的信任机制,js是可以操作浏览器的,而且js的功能十分强大,同时浏览器是无法判断页面的js是否是用户想要执行的,无论用户访问任何页面,浏览器都认为用户信任这个页面。所以,当用户访问恶意网站时会运行恶意网站上的js,这个js会盗用用户的cookie向用户正常登录的网站发送攻击者精心构造的数据包,这样攻击者的目的就达到了。

二、CSRF分类

Get型

这种类型的CSRF一般是由于程序员安全意识不强造成的。GET类型的CSRF利用非常简单,只需要一个HTTP请求,所以,一般会这样利用:

<img src=http://example.cn/csrf.html?username=xxx&password=xxx />

在访问含有这个img的页面后,浏览器会自动向http://example.cn/csrf.html?username=xxx&password=xxx发出一次HTTP请求。example.cn就会收到包含受害者登录信息的一次跨域请求。所以,如果将该网址替换为存在GET型CSRF的地址,就能完成攻击了。

Post型

这种类型的CSRF危害没有GET型的大,利用起来通常使用的是一个自动提交的表单,如:

<form action="http://example.cn/csrf.php" method="POST">
      <input type="hidden" name="filename" value="xxxx" />
      <input type="hidden" name="str" value="xxxxxxx" />
<script
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值