剖析使用CSRF攻击实现银行转账原理

主题:剖析在Django中使用CSRF攻击实现银行转账原理

分享人:知了课堂

什么是CSRF攻击:

CSRF是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一。其他安全隐患,比如 SQL 脚本注入,跨站域脚本攻击等在近年来已经逐渐为众人熟知,很多网站也都针对他们进行了防御。然而,对于大多数人来说,CSRF 却依然是一个陌生的概念。即便是大名鼎鼎的 Gmail, 在 2007 年底也存在着 CSRF 漏洞,从而被黑客攻击而使 Gmail 的用户造成巨大的损失。因此CSRF攻击绝对不容小觑。那么CSRF攻击的原理到底是什么呢?以下来看看。

CSRF攻击原理:

网站是通过cookie来实现登录功能的。而cookie只要存在浏览器中,那么浏览器在访问这个cookie的服务器的时候,就会自动的携带cookie信息到服务器上去。那么这时候就存在一个漏洞了,如果你访问了一个别有用心或病毒网站,病毒攻击者在这个网站源代码中插入一些js代码,然后给其他服务器(比如ICBC网站)发送请求(比如转账请求)。那么因为js在发送请求的时候,浏览器会自动的把cookie发送给对应的服务器,这时候相应的服务器(比如ICBC网站),就不知道这个请求是否是伪造的,就被欺骗过去了。从而达到在用户不知情的情况下,给某个服务器发送了一个请求(比如转账)。

JavaScript同源策略:

很多朋友看到上面的原理可能会说,不要忽悠我了,浏览器中是有同源策略的,js压根没法向除本服务器以外的其他服务器发送请求。(同源策略的意思是,js只能向自己的服务器发送请求,不能向其他服务器发送请求。比如百度的网站中的js代码,不能向谷歌发送网络请求)。但是,我想说,too young too simple,您可能不知道iframe这个标签的神奇的用法!

用CSRF攻击实现银行转账:

首先使用Django创建一个具有csrf漏洞的ICBC网站。这个网站可以进行普通的注册,登录,转账等功能。

然后创建一个具有CSRF攻击的病毒网站,在这个网站中,我会嵌入一些脚本代码,只要你访问了我这个网站,那么我就会跨过“同源策略”的限制向ICBC这个网站的服务器发送一个转账的请求,让你在不知不觉中金额就被转到其他账户上去了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值