位置: IT常识 - 正文

Web系统常见安全漏洞介绍及解决方案-CSRF攻击(web系统的安全现状)

编辑:rootadmin
Web系统常见安全漏洞介绍及解决方案-CSRF攻击

推荐整理分享Web系统常见安全漏洞介绍及解决方案-CSRF攻击(web系统的安全现状),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:web系统常见安全问题包括,web系统的安全现状,常见的web安全及防护原理,web系统常见安全问题包括,web常见的安全问题,web常见的安全问题,web的安全,web系统的安全现状,内容如对您有帮助,希望把文章链接给更多的朋友!

🐳博客主页:拒绝冗余 – 生命不息,折腾不止 🌐订阅专栏:『Web安全』 📰如觉得博主文章写的不错或对你有所帮助的话,还望大家多多支持呀! 👉关注✨、点赞👍、收藏📂、评论。

漏洞档案简介CSRF 攻击原理伪造GET/POST请求CSRF 蠕虫CSRF 防御1.验证码2.Referer Check3.使用token验证简介

CSRF跨站请求伪造,全称Cross-site request forgery,是指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)。CSRF是Web安全中最容易被忽略的一种攻击方式,但某些时候却能产生强大的破坏性。

CSRF 攻击原理

1用户打开浏览器,访问登陆受信任的A网站

2在用户信息通过验证后,服务器会返回一个cookie给浏览器,用户登陆网站A成功,可以正常发送请求到网站A

3用户未退出网站A,在同一浏览器中,打开一个危险网站B

Web系统常见安全漏洞介绍及解决方案-CSRF攻击(web系统的安全现状)

4网站B收到用户请求后,返回一些恶意代码,并发出请求要求访问网站A

5浏览器收到这些恶意代码以后,在用户不知情的情况下,利用cookie信息,向网站A发送恶意请求,网站A会根据cookie信息以用户的权限去处理该请求,导致来自网站B的恶意代码被执行

伪造GET/POST请求

在CSRF攻击流行之初,曾经很多人认为CSRF只能由GET请求发起,因此很多开发者认为只要把重要的操作改成只允许POST请求就能防止CSRF攻击。 这种错误的观点形成的原因在于,大多数CSRF发起攻击时,使用的都是 //

在2007年Gmail CSRF漏洞攻击过程中安全研究者pdp展示了这个技巧: 首先用户需要登录Gmail账户以便获取Gmail的临时Cookie,然后攻击者诱使用户访问一个恶意页面,在这个恶意页面中隐藏了一个iframe,iframe的地址指向pdp写的一个恶意链接,这个链接的实际作用就是把参数生成一个POST表单并提交。pdp的攻击脚本会在邮箱的Filter中新建一条规则,把所有带附件的邮件都转发到攻击者指定的邮箱,由于浏览器中已经存在Gmail的临时Cookie,所以这个请求会成功。

CSRF 蠕虫

2008年9月百度曾经受到CSRF蠕虫病毒攻击,漏洞出现在百度用户中心的发送短消息功能中:

http://msg.baidu.com/?ct=22&cm=MailSend&tn=bmSubmit&sn=用户账户&con=消息内容

这个链接只要修改参数sn即可对指定的用户发送短消息,而攻击者发现另一个接口能查询出某个用户的所有好友,将两者结合起来,可以组成一个CSRF Worm-让一个百度用户查看恶意页面后,将给他的所有好友发送一条短消息,然后这个短消息中又包含一张图片,其地址再次指向CSRF页面,使得这些好友再次将消息发给他们的好友,这个Worm因此得以传播。 这个蠕虫很好的展示了CSRF的破坏性-即使没有Xss漏洞,仅仅是CSRF也是能够发起大规模蠕虫攻击的

CSRF 防御

下面看看有什么方法可以防御这种攻击。

1.验证码

验证码被认为是对抗CSRF攻击最简洁而有效的防御方法。 CSRF攻击的过程,往往是在用户不知情的情况下构造了网络请求,而验证码强制用户必须与应用进行交互才能完成最终请求。但是很多时候,出于对用户体验考虑,网站不能给所有的操作都加上验证码,因此验证码只能作为防御CSRF的一种辅助手段,而不能作为最主要的解决方案。

2.Referer Check

Referer Check即通过验证 HTTP请求头中的Referer 字段检查请求是否来自合法的“源”,检查Referer是否合法来判断用户是否被CSRF攻击。HTTP 头中有一个字段叫 Referer,它记录了该 HTTP 请求的来源地址。比如一个发博客的操作,正常情况下需要先登录到发博客页面,提交“发布”的表单时Referer的只必然是发博客表单所有的页面,如果Referer的值不是这个页面,甚至不是发博客的域,则很有可能受到CSRF攻击。 Referer Check的缺陷在于,服务器并非什么时候都能够取到Referer,很多用户(或浏览器)出于隐私保护的考虑,限制了Referer的发送。

3.使用token验证

CSRF为什么能攻击成功?其本质原因时重要操作的所有参数都是可以被攻击者猜测到的。现在业界对CSRF的防御,一致的做法就是增加一个参数–Token。Token必须足够随机(使用足够安全的随机数生成算法),它应该作为一个“秘密”存在于服务器和浏览器中,不被第三方知晓。由于Token的存在,攻击者无法再构造出一个完整的url实施攻击。实际应用时,Token可以放在用户的Session或者浏览器的Cookie中,在提交请求时,服务器只需验证表单中的Token与用户传过来的Token(Session或Cookie中)是否一致,如果一致则认为是合法请求;如果不一致,则认为请求不合法,可能发生了CSRF攻击。

本文链接地址:https://www.jiuchutong.com/zhishi/299717.html 转载请保留说明!

上一篇:【JavaScript】手撕前端面试题:事件委托 | 判断URL是否合法 | 全排列(javascript手机上)

下一篇:OpenCV实战——多尺度FAST特征检测(opencvcuda)

  • 怎样充分利用推广平台(如何推动)

    怎样充分利用推广平台(如何推动)

  • 他通过几个月学会了移动营销 只因知道这3点(通过几个月的努力取得了明显的成绩修改病句)

    他通过几个月学会了移动营销 只因知道这3点(通过几个月的努力取得了明显的成绩修改病句)

  • 大众点评可以删除评论吗(大众点评可以删除重新发吗)

    大众点评可以删除评论吗(大众点评可以删除重新发吗)

  • AE是什么意思(ae是什么意思的缩写)

    AE是什么意思(ae是什么意思的缩写)

  • 键盘方向键和wasd反了(键盘方向键和wasd互换了怎么还原)

    键盘方向键和wasd反了(键盘方向键和wasd互换了怎么还原)

  • 三星s8怎么退出recovery模式(三星s8怎么退出挖煤模式)

    三星s8怎么退出recovery模式(三星s8怎么退出挖煤模式)

  • 抖音中通讯录为空是为什么(抖音通讯录为空你的手机通讯录无内容)

    抖音中通讯录为空是为什么(抖音通讯录为空你的手机通讯录无内容)

  • 快手提交不了订单是什么原因(快手提交不了订单)

    快手提交不了订单是什么原因(快手提交不了订单)

  • vivoy3怎么设置深色模式(vivoy3手机怎么开启深色模式)

    vivoy3怎么设置深色模式(vivoy3手机怎么开启深色模式)

  • 移动卡hd怎么取消(移动卡如何关闭hd)

    移动卡hd怎么取消(移动卡如何关闭hd)

  • 华为手机语音控制功能在哪里(华为手机语音控制录像)

    华为手机语音控制功能在哪里(华为手机语音控制录像)

  • 手机离线是什么意思(手机离线模式开启后会怎么样)

    手机离线是什么意思(手机离线模式开启后会怎么样)

  • pe进不去是什么原因(pe进不去)

    pe进不去是什么原因(pe进不去)

  • iphone11promax屏幕刷新率(苹果11promax手机屏幕)

    iphone11promax屏幕刷新率(苹果11promax手机屏幕)

  • qq里的帆船是怎么弄的(qq的帆船是双方显示还是单方也能显示)

    qq里的帆船是怎么弄的(qq的帆船是双方显示还是单方也能显示)

  • vivox20上市时间是哪一年(下一页p20)

    vivox20上市时间是哪一年(下一页p20)

  • 华为平板m6如何连接u盘(华为平板M6如何恢复出厂设置)

    华为平板m6如何连接u盘(华为平板M6如何恢复出厂设置)

  • 手机会冻关机吗(手机会冻裂吗)

    手机会冻关机吗(手机会冻裂吗)

  • 华为mate30和华为p30区别(华为mate30和华为mate305g的区别)

    华为mate30和华为p30区别(华为mate30和华为mate305g的区别)

  • 苹果11充电需要多长时间(苹果11充电需要充满吗)

    苹果11充电需要多长时间(苹果11充电需要充满吗)

  • 芒果怎么取消手机号(芒果怎么取消手机号登录)

    芒果怎么取消手机号(芒果怎么取消手机号登录)

  • 华为nova5几月上市(华为nova5上架时间)

    华为nova5几月上市(华为nova5上架时间)

  • 苹果xsmax录制屏幕在哪(苹果xsmas录屏)

    苹果xsmax录制屏幕在哪(苹果xsmas录屏)

  • 群主转让后如何收回群(群主转让如何找回)

    群主转让后如何收回群(群主转让如何找回)

  • ios12和ios11对比(ios11和ios12有啥区别)

    ios12和ios11对比(ios11和ios12有啥区别)

  • CUDA(10.2)+PyTorch安装加配置 详细完整教程

    CUDA(10.2)+PyTorch安装加配置 详细完整教程

  • videojs 播放以及初始化(video.js教程)

    videojs 播放以及初始化(video.js教程)

  • 驾驶员培训服务税率
  • 什么是一般公共财政预算收入
  • 生产企业退税计算方法怎么选择
  • 为什么对子公司长投要用成本法
  • 营改增利息收入不能抵扣
  • 行政单位调拨的固定资产申请报告
  • 个人独资企业经营所得税优惠政策
  • 小企业会计准则以前年度损益调整
  • 企业向个人借款合同模板
  • 工程结余物资清理方案
  • 外购原材料自用要进项转出吗
  • 购买的固定资产没有使用,是否计提折旧
  • 分月计提利息会计分录
  • 分摊材料成本差异的会计处理
  • 委托加工收回后直接销售的消费税
  • 利息收入属于现金流入吗
  • 新税法下广告费计税依据
  • 个人去税务局开劳务票 税点是多少
  • 资产折旧摊销扣什么税
  • 税费是哪个会计科目?
  • 资产负债表是一年一次吗
  • 支付个人利息没有取得发票
  • 自然人税收系统怎么添加人员
  • 盘活存量国有资产与轻资产运营
  • win10打开txt
  • regsync.exe - regsync是什么进程 有什么用
  • 为什么u盘里的文件无法删除
  • 酒店损益类科目包括哪些
  • 转让股权企业所得税怎么计算
  • low是什么文件
  • 城镇土地使用税纳税义务发生时间
  • 跨年度发票会计分录
  • vue display
  • vuea
  • python函数的默认值
  • 软件企业会计账务处理
  • 含消费税的商品开成了不含消费税怎么办
  • 织梦配置文件
  • sql数据库移动
  • 建设工程审计报告包括哪些内容
  • 公司购买绿植入什么科目
  • 税票和发票的区别图片
  • 网上变更财务负责人新负责人要确认吗
  • 发票第一联需要盖发票专用章吗
  • 小规模纳税人水利基金税率
  • 盘亏的主要原因是什么
  • 购入需安装设备的会计分录
  • 其他债权投资如何计提减值
  • 企业广告费以后会涨吗
  • 高温补贴纳税
  • 母公司代子公司收款,子公司开具发票
  • 一般纳税人增值税申报操作流程
  • 出租土地使用权计入什么科目
  • 发票是中国独有的吗
  • 数据库中alter table的用法
  • http500内部错误
  • centos6.5共享文件夹
  • java调用so库文件
  • bios设置u盘启动顺序
  • ubuntu 无法正常启动
  • linuxftp服务器
  • win8切换语言
  • linux系统怎么修改文件里的参数
  • win7系统谷歌浏览器打不开网页
  • win7图标随便移动
  • opengl教程48讲
  • js实现日历可获得的信息
  • jquery 选择
  • css文件放在什么目录
  • 安卓演示模式有什么用
  • python中的单下划线和双下划线
  • 安卓手机自定义ua
  • 红杏是什么意思什么样的
  • js重要知识点
  • js延时加载的方法
  • jquery点击事件有什么方法显示
  • 北京税务局地税电话
  • 如何发挥人才作为第一资源 护理
  • 增值税发票勾选操作流程
  • 税务24号公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设