了解cookie以及cookie跨站点伪造攻击(CSRF)

本文深入解析CSRF(跨站请求伪造)攻击原理,探讨其如何利用合法用户身份发送恶意请求,造成经济损失或信息泄露。文章详细阐述了CSRF攻击的过程,包括攻击者如何通过恶意网站诱使用户执行有害操作,以及银行网站的示例。此外,还介绍了检测CSRF漏洞的方法,如使用CSRFTester工具,以及防御策略,包括验证HTTP Referer字段、在请求中添加token和在HTTP头中自定义属性。

背景知识:

很久很久以前,Web基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要纪录谁在某一段时间里浏览了什么
文档,每次请求都是一个新的Http协议,就是请求加响应,尤其是我不用记住是谁刚刚发了HTTP请求,每个请求对我
来说是全新的,这段时间很嗨皮。

 但是,随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理回话,
必须记住那些人登录系统,那些人往自己的购物车中放商品,也就是说我必须把每个人区分开,这就是一个不小的挑战,
因为HTTP请求是无状态的,所以相出的办法就是使用cookie,session,或者token的方式(具体查别的文章)。这里
就说cookie:

 cookie是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。
 cookie由服务器生成,发送给浏览器,浏览器把cookie以kv的形式保存到某个目录下的文本文件内,下次请求同一网站
时会把该cookie加到请求头里发送给服务器。

 

CSRF概念:

CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:
       攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。
 

        CSRF攻击攻击原理及过程如下:

       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的恶意代码被执行。 
 

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值