热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[网络安全学习篇62]:CSRF攻击

引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足;对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲

引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足;对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以我就想到了通过写博客(课程笔记)的形式去学习它,虽然写博客会让我多花几倍的时间去学习它,但是当我完成一篇博客所获得的成就感和你们对于我的认同感,让我很满足,能够鼓励我一天天的坚持下去,也希望和我一起学习本期视频的"同道"们也能给一直坚持下去。我们大家一起加油。由于作者本身也是网络信息安全小白,大部分知识点都是初次接触,出现对其理解不深入,不完整,甚至也会出现错误有问题的地方,希望大家谅解、留言提出指正,同时也欢迎大家来找我一起交流学习!!!

 

往期博客:

第一阶段:

[网络安全学习篇1]:windowsxp、windows2003、windows7、windows2008系统部署(千峰网络安全视频笔记)

[网络安全学习篇24]:漏洞与木马(千峰网络安全视频笔记 p117-p118)

第二阶段:

[网络安全学习篇25]:初识Linux及简单命令

[网络安全学习篇32]:Linux脚本编写汇总及应用

第三阶段:

[网络安全学习篇33]:0基础带你入门python

[网络安全学习篇38]:基础环境搭建

[网络安全学习篇39]:HTML标签基础 常用的标签 表格

[网络安全学习篇42]:靶场环境搭建(ubuntu系统安装优化及vulhub安装)

[网络安全学习篇43]:PHP基础+变量 运算符 流程控制语句

[网络安全学习篇48]:JS 基础 函数 事件)

第四阶段:

[网络安全学习篇49]:渗透测试方法论

[网络安全学习篇50]:Web架构安全分析

[网络安全学习篇51]:信息收集

[网络安全学习篇52]:扫描技术

[网络安全学习篇53]:口令**

[网络安全学习篇54]:SQL注入

[网络安全学习篇55]:SQL自动化注入

[网络安全学习篇56]:XSS

[网络安全学学习篇57]:XSS(二)

[网络安全学习篇58]:PHP代码注入

[网络安全学习篇59]:OS命令注入

[网络安全学习篇60]:文件上传

[网络安全学习篇61]:文件包含

[网络安全学习篇62]:CSRF 攻击(本篇)

下期博文:

[网络安全学习篇63]:s-s-rF

 

目录

 

CSRF

*概述

*关键点

*目标

CSRF 场景复现

*正常业务

*CSRF 攻击

如何触发

*POST 方式

实战:与XSS 结合添加后台账户

CSRF 的防御

*无效防御

@ 使用密码COOKIE

@ 仅接受POST 请求

@ 多步交易

@ URL 重写

@ HTTPS

*有效的防御

@ 验证Referer 字段

@ 添加Token验证

@ 二次验证

@ 用户养成良好的习惯


CSRF

*概述

跨站请求伪造(Cross-site request forgery,SCRF)是一种攻击,它强制终端用户在当前对其进行身份验证后的Web 应用程序上执行非本意的操作。

CSRF 攻击的重点在伪造更改状态的请求,而不是盗取数据,因为攻击者无法查看对伪造请求的响应。

借助社工的一些帮助(例如通过电子邮件或聊天发送链接),攻击者可以诱骗用户执行攻击者选择的操作。如果受害者是普通用户,则成功的CSRF 攻击可以强制用户执行状态更改的请求,例如转移资金,更改其电子邮件等。如果受害者是管理账户,CSRF 可能危及整个Web 程序。

*关键点

CSRF 是一种欺骗受害者提交恶意请求的攻击。它继承了受害者的身份和特权,代表受害者执行非本意、恶意的操作。

对于大多数站点,浏览器请求自动发送与站点关联的所有凭据,例如用户的会话COOKIE,IP 地址,Windows域凭据等。因此,如果用户当前已对该站点进行了身份验证,则该站点将无法区分受害者发送的伪造请求和受害者发送的合法请求。

*目标

CSRF 攻击目标是能够更改服务器状态或数据的业务或功能,例如更改受害的电子邮件地址、密码或购买商品。强制受害者查询数据,对于供给者来说没什么用,因为无法获得服务器响应。因此,SCRF攻击正对引起状态变化的请求。

有时可以将CSRF 攻击存储在易受攻击的站点上。这些漏洞被称为“存储的CSRF漏洞”。这可以通过简单地接受HTML 的字段中存储IMG 或IFRAME 标记,或通过更复杂的跨站点脚本攻击来实现。如果攻击可以在站点中存储SCRF 攻击,则攻击的严重性会放大。特别是,收到攻击的可能性增加,因为受害者比互联网上的某个随机页面更有可能查看包含攻击的页面。(具备普遍性)

 

CSRF 场景复现

[网络安全学习篇62]:CSRF 攻击

Web 应用

为了复现CSRF 攻击的场景,我们搭建了一个银行的模拟网站,其核心业务就是转账。

*正常业务

首先我们使用[admin/123456]登录银行账户。

在另一台浏览器中,使用[test/123456]登录

可以操作admin用户给test用户汇款

*CSRF 攻击

我们以admin用户的身份,在没有退掉当前网站的情况下,访问了一个极具诱惑性的网站。

当我们在这个网站中点击了某个链接

此时,我们会发现账户中给hacker 转了1000.

我们会发现,admin用户的并没有意愿给hacker 用户转账,这个操作完全是非本意的,而且请求在admin 用户不知不觉的情况下被发送。说明test 用户遭受了CSRF 攻击

如何触发

1一刀99

2

----------