XSS、CSRF、SSRF漏洞原理以及防御方式

本文详细介绍了XSS(跨站脚本攻击)、CSRF(跨站请求伪造)和SSRF(服务器端请求伪造)的攻击原理、常见类型和防范措施。XSS分为反射型、存储型和DOM型,通过注入脚本执行攻击。CSRF利用用户的已登录状态发起恶意请求,防范措施包括验证Referer和使用Token。SSRF则通过服务器发起攻击,防范方法包括限制请求端口和目标地址。
摘要由CSDN通过智能技术生成

XSS

XSS(Cross Site Scripting):跨域脚本攻击。

XSS攻击原理:

不需要你做任何的登录认证,它会通过合法的操作(比如在url中输入、在评论框中输入),向你的页面注入脚本(可能是js、hmtl代码块等)。

XSS的攻击方式:
反射型XSS、存储型XSS、DOM型XSSS;

  1. 反射性XSS:
    反射型XSS又称为非持久性XSS,这种攻击方式玩玩具有一次性;
    攻击者通过电子邮件等方式将包含XSS代码的恶意链接发送给目标用户。当目标用户访问该链接时,服务器接收该用户目标的请求并进行处理,然后服务器把带有XSS代码的数据发送给目标用户的浏览器,浏览器解析这段带有XSS代码的恶意脚本后,就会触发XSS漏洞。
  2. 存储型XSS:
    存储型XSS又称为持久性XSS,攻击脚本将被永久的存放在目标服务器的数据库或文件中,具有很高的隐蔽性;
    这种攻击多见于论坛、博客和留言板,攻击者在发帖的过程中,将恶意脚本连同正常信息一起注入帖子的内容中。随着帖子被服务器存储下来,恶意脚本也永久的被存放在服务器的后端存储器中。当其它用户浏览这个被注入了恶意脚本的帖子时,恶意脚本会在他们的浏览器中得到执行。
    如果我们能够谨慎对待不明链接,反射性XSS将没有多大作为,但存储型XSS不同,它注入在一些我们信任的页面,难免受到攻击。
  3. DOM型XSS:
    DOM全称Document Object Model,使用DOM可以使程序和脚本能够动态访问和更新文档的内容、结构以及样式;
    DOM型XSS是一种特殊类型的反射型XSS,是基于DOM文档对象模型的一种漏洞;
    HTML的标签都是节点,这些节点组成了DOM的整体结构—节点树。通过HTML DOM,树中的所有节点均可通过JavaScript进行访问。所有HTML元素(节点)均可被修改,也可以创建或删除节点。
    在这里插入图片描述

在网站页面中有许多元素,当页面到达浏览器时,浏览器会为页面创建一个顶级的Document Object文档对象,接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性、方法和事件。客户端的脚本程序可以通过DOM动态修改页面内容,从客户端获取DOM中的数据并在本地执行。由于DOM是在客户端修改节点的,所以基于DOM型的XSS漏洞不需要与服务器交互,他只发生在客户端处理数据的阶段。
攻击方式:用户请求一个经过专门设计的URL,它由攻击者提交,而且其中包含XSS代码。服务器的响应不会以任何形式包含攻击者的脚本。当用户的浏览器处理这个响应时,DOM对象就会处理XSS代码,导致存在XSS漏洞。

因为JS触发的XSS就是DOM型XSS,而一般而言dom型的XSS都是反射性,很少有存储型。
XSS插入的话,一般是动态页面,但是有些是静态页面,不会和数据库发生交互,这就大大提高了安全性,我们就很难XSS了,而考虑到这一点,很多开发也把动态页面假装弄成静态页面,这种页面称为:伪静态页面;
控制台输入document.lastModified区分动态和伪静态页面,如果时间一直是新的,那么就是动态或者伪静态,如果时间一直不变,那么就是静态,没什么好插的了。

  • urldocument.referrer:回显上一个地址的;
  • document.title&#x
  • 7
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值