前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】《网络安全应急管理与技术实践》 014-网络安全应急技术与实践(Web层-CSRF跨站攻击)

【愚公系列】《网络安全应急管理与技术实践》 014-网络安全应急技术与实践(Web层-CSRF跨站攻击)

原创
作者头像
愚公搬代码
发布2024-09-17 08:32:30
1010
发布2024-09-17 08:32:30
举报
文章被收录于专栏:愚公系列-书籍专栏

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。

🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。

🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

CSRF(跨站请求伪造)是一种网络攻击方式。网站通常通过Cookie来识别用户,一旦用户通过身份验证,浏览器就会得到一个用于标识用户的Cookie。任何带有这个Cookie的操作都被认为是该用户所执行的。黑客可以利用这个Cookie向网站发送请求,网站会认为这是用户发送的请求,从而达到伪造请求的目的。这种攻击方式通常由第三方站点发起,因此称为“跨站”。攻击者可以强迫已登录用户的浏览器发送伪造的HTTP请求,包括用户的会话Cookie和其他认证信息,向存在漏洞的第三方应用程序发送请求,并被应用程序认为是合法的用户请求。

🚀一、CSRF 攻击分析与应急处置

🔎1.攻击脚本准备

在攻击实施前要准备好攻击脚本,如图所示

sql2shell.htm 文件为头击者的攻击脚本,政击者将该脚本挂载在第三方网站http://www.hacker.com:8080/csrf/google.htm的页面加载过程中,所以,只要该网站的链接被点击并且面被加载,该脚本就会利用管理后台的"SQL查询”功能,自动执行SQL语"select '<?php eval($ POST_[C])?>' into outfile 'var/www/shop/data/tinydoor.php' "这祥便会在网站目录下创建一句话木马文件tinydoor.php。因为我们主要是从急角度来分析CSRF攻击的实现过程,所以该脚本的具体程序逻辑在这里不过多解释。

🔎2.添加恶意留言

攻击者登录网址 http://www.ec.com/shop,同之前讲述的钓鱼攻击一样,入诱惑性信息,诱骗管理员点击带有CSRF攻击代码的链接

管理员登录后台http://www.ec.com/shop/admin 查看留言,如果对该条留所述内容信以为真,点击链接地址就发生了CSRF攻击

因为该链接地址的目标网站在页面加载时执行了攻击者准备的攻击脚本,由于此时管理员处于登录状态,并且网站没有对新的请求源再次进行身份验证因此管理员在查看链接(http://www.hacker.com:8080/csrf/google.htm)时,打开了攻击者伪造的页面

该页面加载时触发了攻击代码,即向本网站的服务器指定目录下写入木马文件。该网站后台认为这是管理员的请求,自然会处理该请求,尽管该请求中含有恶意的木马程序,这样攻击者就成功地借用管理员之手,在服务器中植入了木马文件,但是这个攻击过程管理员却是完全不知情的。因此,CSRF攻击可以让用户在不知情的情况下攻击自己已登录的一个系统,其危害不言而喻。

🔎3.一句话木马自动添加成功

本示例是将一句话木马以管理员身份写入网站(www.ec.com)服务器,由于管理员有权限在该目录下创建文件,所以该木马被成功地写入

🔎4.CSRF 漏洞检测与应急处置

知道了CSRF的攻击机制和原理,检测CSRF漏洞就不难了,最简单的方法就是抓取一个正常请求的数据包,去掉Referer字段后再重新提交,如果修改后的测试请求成功被网站服务器接收,那么基本可以确定该服务器存在CSRF漏洞。随着大家对CSRF漏洞研究的不断深入,也出现了一些检测工具,其检测原理同人工检测是一样的。

可见,服务器存在CSRF 漏洞的原因是没有对请求来源做判断和验证,所以,对于CSRF 漏洞的防御和应急处置,可以对HTTP的Referer 字段进行严格的验证或在请求地址中加入随机token或加入验证码机制即可解决。

下面就来看看采用上述方法对CSRF洞进行修补后的效果。将漏洞修补代码 init.php 文件上传到网站发布目录下(/var/www/shop/admin/includes),如图所示

此时管理员查看留言并单击链接就会跳回登录页面,对该请求者再次进行身份验证,以防止该请求被伪造

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🚀前言
  • 🚀一、CSRF 攻击分析与应急处置
    • 🔎1.攻击脚本准备
      • 🔎2.添加恶意留言
        • 🔎3.一句话木马自动添加成功
          • 🔎4.CSRF 漏洞检测与应急处置
          相关产品与服务
          多因子身份认证
          多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档