黑客常用的CSRF跨站攻击与防范-实例讲解
CSRF(Cross-site request forgery),是中文:跨站请求伪造的缩写,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。 CSRF出现的时间已经很久远了,但危害到现在还是十分的常见。这种攻击方式在2000年左右国外就已经发现了,国内互联网起步较晚,到06年才开始被关注。到底这个攻击方式有多普遍呢?YouTube跟百度都被爆出来过。 到底什么是CSRF跨站攻击呢? 有些人可能XSS跟CSRF经常分不清,我们先来对比一下XSS跟CSRF的区别:
我们可以看出CSRF比XSS的利用更高级,直接可以略过获取cookie的步骤,也就是说,攻击者自己压根就不需要参与,受害人自己造成的这种局面。就好比攻击者将汽油倒在受害者的门口,受害者自己扔了烟头引起的火灾,很难被发觉是谁攻击的。 这里我们简单举个例子: 从上图不难发现,一次CSRF攻击要完成5步:
以上就是一个大体流程,可能看起来有点生涩,那我们举个例子说明。 我们假设个前提: 账户的余额修改用GET请求money=后面+为充值-为支出,如下:
受害人刚刚访问了自己的余额钱包(合法)并生成了cookie,然后这个时候收到了某人给他发的连接www.b.com,且里面有一张图片,且图片里面存储着恶意代码,如:
虽然你刚才关闭了钱包的页面,但你点开链接访问这张图片的时候,,你的浏览器会解析这句代码,通过你刚才访问合法钱包网站生成的cookie,去再次访问并执行money=-1000,扣除1000的余额。 这里再补充一点,我们都知道通常我们上网,比如登录QQ空间,直接点关闭后,然后再打开同样是可以继续访问不用输入用户名密码的,之所以可以继续访问就是因为你储存的cookie。 以上简单的说了一下GET请求,但实际应用上POST请求也不在少数,这时候我们可以把前台表单的method方式设置为POST,然后继续试验,当后台使用$_REQUEST去获取请求参数的时候,通常也会被干掉,因为: 为什么会执行成功? CSRF 攻击之所以能够成功,是因为黑客可以完全伪造用户的请求,而且请求中所有的用户验证信息都是存在于 cookie 中,所以黑客可以在不知道这些验证信息的情况下直接利用用户自己的 cookie 来通过安全验证。 如何防范?
【编辑推荐】
点赞 0 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |