搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 知了Python > 剖析使用CSRF攻击实现银行转账原理

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

知了Python 2018-07-01



主题:剖析在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攻击实现银行转账:

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


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


看完后可能明白了个大概,但是还是不知道CSRF攻击到底怎么攻击的?来,6月25号,今晚,我们在网易云课堂上会有个免费直播,来跟大家分享这个完整的过程。黄老师会从零来构建一个ICBC网站,然后详细分析CSRF攻击的原理,使用这个原理我们就可以实现一个具有CSRF攻击的网站,之后再用这个网站来攻击我们自己编写的ICBC网站。带你经历一段惊险又刺激的CSRF攻击之旅,让你感受一下网络世界不为人知的一面。学完后,你再看下自己的网站有没有相应的漏洞!等不及了?扫下面二维码报名参加学习吧,今晚8点,我们不见不散!



版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《剖析使用CSRF攻击实现银行转账原理》的版权归原作者「Python实战技术」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注Python实战技术微信公众号

Python实战技术微信公众号:pythonjs

Python实战技术

手机扫描上方二维码即可关注Python实战技术微信公众号

Python实战技术最新文章

精品公众号随机推荐

上一篇 >>

Netty笔记(一)